与原始图像文件相比,ImageIO write会生成不同的文件大小

时间:2011-09-14 06:47:11

标签: java bufferedimage javax.imageio

当使用ImageIO读取图像文件,然后将BufferedImage(不对BufferedImage objet进行任何操作)写入另一个文件时,写入文件的文件大小与原始文件。

ImageIO是否读取图像文件的完整内容(包括任何元数据,如Exif元数据)?

如果它确实读取了全部内容,那么ImageIO会写出包含任何元数据的图像内容吗?

1 个答案:

答案 0 :(得分:4)

许多文件格式(包括例如jpeg)可以通过几种不同的方式正确压缩(即使是相同的质量设置)。解压缩是确定性的,而压缩可能是非确定性的。

没有独特的正确压缩图像的方式意味着在加载/保存文件后,您不能指望ImageIO产生与字节等效的结果。