java-org.hwo/src/org/hwo/image/ImageProvider.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;
}
}
}
}