Java-如何压缩BuffereImage?
另外,哪种方法(jpeg、png、gif)最适合于频带压缩?jpeg最有可能。默认为75%压缩,但缺少质量Java-如何压缩BuffereImage?,java,compression,bufferedimage,Java,Compression,Bufferedimage,另外,哪种方法(jpeg、png、gif)最适合于频带压缩?jpeg最有可能。默认为75%压缩,但缺少质量 如果你想要质量:使用png。您可以获得jpg不支持的透明度。PNG的质量也被列为100%。如果您希望质量好,但文件大小小,您可以始终使用png并使用压缩类型,类似于文件的base-64。然后将其解压缩并存储图像。它将使用低内存量来存储图像,但将允许您有效地保持图像质量不变 压缩由各种文件格式(JPEG、PNG、GIF等)自己处理 “带宽最佳”是一个完全主观的问题,取决于图像本身的大小和内容
如果你想要质量:使用png。您可以获得jpg不支持的透明度。PNG的质量也被列为100%。如果您希望质量好,但文件大小小,您可以始终使用png并使用压缩类型,类似于文件的base-64。然后将其解压缩并存储图像。它将使用低内存量来存储图像,但将允许您有效地保持图像质量不变 压缩由各种文件格式(JPEG、PNG、GIF等)自己处理 “带宽最佳”是一个完全主观的问题,取决于图像本身的大小和内容
例如,具有少量颜色和少量“平滑”(例如像素图形)的小图像将适合PNG和GIF格式。具有多种颜色和大量平滑处理的较大图像(例如照片)使用该格式效果更好。使用该格式,您还可以控制编码过程中的压缩/质量。使用何种格式:
- 是lossey压缩-您将丢失详细信息。(质量水平是可控的,这很有帮助)
- 是无损压缩,但它转换为8位颜色空间会扭曲许多图像,尤其是自然图像李>
- 是无损压缩
BuffereImage
实际创建JPEG、PNG或GIF而言。请从Sun/Oracle查看。有很多内容可以帮助您,并且明确地解决了创建JPEG、PNG和GIF的问题。以下是从上述链接教程中修改的剪贴画:
try {
BufferedImage bufImg = getBufferedImage(); //get BufferedImage from your code...
File fout = new File("saved.png");
ImageIO.write(bufImg, "png", fout);
} catch (IOException e) {
//handle exception...
}
勾选此项:但我首先如何压缩它?编辑以解决您的问题:)