我有一个BufferedImage实例:(只是一个例子)
BufferedImage image = ImageIO.read(new URL("http://www.google.com/intl/en_ALL/images/srpr/logo1w.png"));现在,我只知道如何使用
ImageIO.write(image,"jpg", file); //or ImageIO.write(image,"png", file);要将此BufferedImage保存到文件,但此文件为ZIPed,不等于原始图像大小。
是否可以从BufferedImage实例获取原图ByteArray或OutputStream?
发布于 2010-08-24 15:15:10
简而言之:不。
Java将图像转换为内部表示,并在读取和写入时转换文件。
最好的办法是读取字节数组中的文件(或临时文件),从那里创建镜像。当保存文件时,返回到原始的bytearray或tempfile。
发布于 2010-08-24 15:08:50
public static Image toImage(BufferedImage bufferedImage) {
return Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource());
} https://stackoverflow.com/questions/3554112
复制相似问题