import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
/**
* ImageFileManager adalah class untuk memuat dan simpan gambar.
* File pada disk bisa dalam format JPG atau PNG. Untuk file yang ditulis oleh kelas ini,
* formatnya ditentukan oleh IMAGE_FORMAT.
*
* @author (Arvel Gavrilla)
* @version (06-12-2020)
*/
public class ImageFileManager
{
// Konstanta untuk format gambar yang digunakan.
// Format yang tersedia adalah "jpg" dan "png".
private static final String IMAGE_FORMAT = "jpg";
/**
* Memaca file gambar dari disk dan menampilkan kembali sebagai (mengembalikan) gambar. Metode ini dapat membaca format file JPG dan PNG.
* Jika ada masalah (misalnya file tersebut tidak ada, tidak sesuai dengan format yang dikodekan,
* atau kesalahan baca lainnya) metode ini tidak mengembalikan apa2.
*
* @param imageFile File gambar yg akan loading.
* @return Objek gambar atau null yg tdk dpt dibaca.
*/
public static OFImage loadImage(File imageFile)
{
try
{
BufferedImage image = ImageIO.read(imageFile);
if(image == null || (image.getWidth(null) < 0)) return null;
return new OFImage(image);
}
catch(IOException exc)
{
return null;
}
}
/**
* Tulis file gambar ke disk. Format file adalah JPG.
*
* @param image gambar yang akan disimpan
* @param file file yang akan disimpan
*/
public static void saveImage(OFImage image, File file)
{
try
{
ImageIO.write(image, IMAGE_FORMAT, file);
}
catch(IOException exc)
{
return;
}
}
}