在保存到Java中的磁盘之前压缩图像

问题描述:

在保存图像之前是否可以压缩图像? 我使用Robot类捕获图像,并返回一个BufferedImage。 如何压缩此图像然后保存?在保存到Java中的磁盘之前压缩图像

+1

图像通常被压缩得很好无论如何,如果你把它们存储在JPG或PNG格式。它们的优点是可以从多种应用程序中使用。 – *foe 2011-04-15 14:53:14

.png文件是(无损)压缩图像。

您可以使用ImageIO.write()save a .png image

ImageIO.write(myBufferedImage, "png", outputfile); 

有色彩压缩( “压缩质量”),并有分辨率压缩( “调整”)。例如。我用一个非常低的“压缩质量”获得了一张4K的照片到270K,但这看起来很糟糕,但我用合理的质量把它降低到了12K,但尺寸更小。

我调整大小推荐:

https://github.com/rkalla/imgscalr/blob/master/src/main/java/org/imgscalr/Scalr.java

祝调整是标准的Java库的一部分,但似乎它不是,(或者有图像质量问题,标准的方法是什么?)。但是利雅德的图书馆非常小 - 只有一个班级。我只是将这个类复制到我的项目中,因为我从来没有学会如何使用Maven,并且它工作得很好。 How can I compress images using java?

我对压缩质量的建议:见fujy的回答是:

How can I compress images using java?