【发布时间】:2018-07-31 06:00:26
【问题描述】:
我正在使用 Thumbnailator 压缩我的应用程序中的图像。当我尝试将 JPG 图像转换为 PNG 时,一切都很好。在这个过程中,图像的大小在压缩后增加了两倍。以下代码用于转换图像。
File a=new File("C:\\Users\\muthu\\Downloads\\SampleJPGImage_5mbmb.jpg");
Thumbnails.of(a).scale(1).outputQuality(0.5).toFile("C:\\Users\\muthu\\Downloads\\SampleJPGImage_5mbmb1.png");
使用纯java也这样做,代码如下
BufferedImage bufferedImage = ImageIO.read(new File("C:\\Users\\muthu\\Downloads\\SampleJPGImage_5mbmb.jpg"));
ImageIO.write(bufferedImage, "png", new File("C:\\Users\\muthu\\Downloads\\javaPngimage.png"));
例如:5MB 图像文件转换为 32MB 文件。我不应该去调整大小来压缩。我被这个困住了
【问题讨论】:
-
“调整大小”和“压缩”之间是有区别的 - 是的,调整大小会改变大小,这会改变字节大小,但是压缩会将算法应用于现有字节数据以减少它的结束大小(然后需要稍后解压缩),而且 jpg 和 png 压缩之间存在差异。 Jpg 取决于更好,但通常会降低图像质量。虽然我不太清楚为什么你会得到这样的差异
标签: java image-processing jpeg thumbnails javax.imageio