图像尺寸增加

时间:2013-05-07 12:09:13

标签: java image image-processing tiff

使用以下代码上传图片。

ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedImage img = ImageIO.read(new File("abc.tiff"));
ImageIO.write(img, "tiff", baos);
img.flush();  
img=null;

byte[] bytes2 = baos.toByteArray();
if(baos != null) {
    baos.flush();
    baos.close();
}

System.out.println("bytes2 size::::" + bytes2.length);

我的原始tiff图像大小是119 kb,当我打印图像的字节时,我得到800974字节的长度。

为什么图像尺寸会增加?什么可能是问题

2 个答案:

答案 0 :(得分:0)

显然,您的abc.tiff文件已归档(TIFF格式具有归档版本),而img包含未归档的解压缩数据。这就是为什么您的输出为782 kb而不是119

答案 1 :(得分:0)

TIFF格式,与大多数图像格式一样,支持大量图像模式和压缩策略。 ImageIO.write()在优化方面可能不是很聪明,或者可能需要进行一些调整。参见例如here