forked from LupusNobilis/java-org.hwo
66 lines
1.1 KiB
Java
66 lines
1.1 KiB
Java
package org.hwo.image;
|
|
|
|
import java.awt.image.BufferedImage;
|
|
import java.io.File;
|
|
|
|
import org.hwo.image.imageio.ImageIOFile;
|
|
import org.hwo.image.tiff.TiffFile;
|
|
|
|
public class ImageProvider {
|
|
|
|
private static ImageProvider imageProvider;
|
|
|
|
public static ImageProvider instance()
|
|
{
|
|
if (imageProvider == null)
|
|
imageProvider = new ImageProvider();
|
|
return new ImageProvider();
|
|
}
|
|
|
|
ImageFile[] imageFiles = {
|
|
new TiffFile(),
|
|
new ImageIOFile("png"),
|
|
new ImageIOFile("jpg")
|
|
};
|
|
|
|
|
|
protected ImageProvider()
|
|
{
|
|
}
|
|
|
|
public ImageFile load(File file)
|
|
{
|
|
for (ImageFile imageFile:imageFiles)
|
|
{
|
|
if (imageFile.identify(file))
|
|
{
|
|
ImageFile ifile = imageFile.newInstance();
|
|
ifile.load(file);
|
|
return ifile;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public ImageFile load(String path)
|
|
{
|
|
return load(new File(path));
|
|
}
|
|
|
|
public void save(BufferedImage image,File imageFile)
|
|
{
|
|
for (ImageFile ifile:imageFiles)
|
|
{
|
|
if (ifile.identify(imageFile))
|
|
{
|
|
ImageFile writer = ifile.newInstance();
|
|
writer.addPage(image);
|
|
writer.save(imageFile);
|
|
return;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|