/**
* ImageFileManager adalah kelas utilitas kecil dengan metode statis yang digunakan untuk
* memuat dan menyimpan gambar.
*
* @author Timotius Wirawan
* @version 06/12/2020
*/
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
public class ImageFileManager
{
//Konstanta untuk format gambar yang penulis gunakan untuk menulis.
//Format yang tersedia adalah "jpg" dan "png".
private static final String IMAGE_FORMAT = "jpg";
/**
* membaca file gambar dari disk dan mengembalikannya sebagai gambar.
* Method ini dapat membaca format file JPG abd PNG.
*
* @param imageFile gambar yang akan dimuat
* @return obejct gambar atau null tidak dapat dibaca
*/
public static OFImage loadImage(File imageFile)
{
try
{
BufferedImage image = ImageIO.read(imageFile);
if (image == null || (image.getWidth(null) < 0))
{
//tidak dapat memuat gambar - kemungkinan format file tidak valid
return null;
}
return new OFImage(image);
}
catch (IOException exc)
{
return null;
}
}
/**
* Menulis gambar ke disk. Format file adalah JPG. Jika ada masalah, method ini kembali
* secara diam-diam.
*
* @param image gambar yang disimpan
* @return file file yang disimpan
*/
public static void saveImage(OFImage image, File file)
{
try
{
ImageIO.write(image, IMAGE_FORMAT, file);
}
catch(IOException exc)
{
return;
}
}
}