39 lines
1.2 KiB
Java
39 lines
1.2 KiB
Java
|
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);
|
||
|
}
|
||
|
}
|