final/src/BufferedImageWrapper.java

39 lines
1.2 KiB
Java
Raw Normal View History

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.IndexColorModel;
import java.awt.image.WritableRaster;
import java.io.*;
import java.util.Hashtable;
public class BufferedImageWrapper implements Serializable {
public BufferedImage image;
public BufferedImageWrapper(int width, int height, int imageType) {
image = new BufferedImage(width, height, imageType);
}
public BufferedImageWrapper(int width, int height, int imageType, IndexColorModel cm) {
image = new BufferedImage(width, height, imageType, cm);
}
public BufferedImageWrapper(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?, ?> properties) {
image = new BufferedImage(cm, raster, isRasterPremultiplied, properties);
}
public BufferedImageWrapper(BufferedImage image) {
this.image = image;
}
public BufferedImageWrapper() {}
@Serial
private void writeObject(ObjectOutputStream out) throws IOException {
ImageIO.write(image, "png", out); // png is lossless
}
@Serial
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
image = ImageIO.read(in);
}
}