是否可以在保存之前压缩图像? 我正在使用Robot类来捕获图像,它返回一个BufferedImage。 如何压缩此图像然后保存?
答案 0 :(得分:3)
.png
个文件是(无损)压缩图像。
您可以ImageIO.write()使用save a .png image:
ImageIO.write(myBufferedImage, "png", outputfile);
答案 1 :(得分:0)
有颜色压缩(“压缩质量”)并且存在分辨率压缩(“调整大小”)。例如。我使用非常低的“压缩质量”得到了一张4mb照片到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的答案: