jpg格式的图片压缩

时间:2017-03-22 09:36:16

标签: jpeg

这是一个问题:

java image compression for any image format(jpg, PNG, gif)

守则就在这里:

File input = new File("digital_image_processing.jpg");
BufferedImage image = ImageIO.read(input);

File compressedImageFile = new File("compress.jpg");  
OutputStream os = new FileOutputStream(compressedImageFile);

 Iterator<ImageWriter>writers = ImageIO.getImageWritersByFormatName("jpg");
 ImageWriter writer = (ImageWriter) writers.next();

 ImageOutputStream ios = ImageIO.createImageOutputStream(os);
 writer.setOutput(ios);

 ImageWriteParam param = writer.getDefaultWriteParam();

 param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
 param.setCompressionQuality(0.05f);

 writer.write(null, new IIOImage(image, null, null), param);

问题:

我已经尝试过上面的代码,图像压缩发生了

原始尺寸:2209 Kb实际尺寸:633 Kb压缩质量:0.98f

但压缩后图像看起来不一样,图像非常有光泽,对于某些图像来说难以读取图像并从中获取细节

无法在此处上传图片,因为它超过2 MB。请在此网址上找到图片:https://ibb.co/jgO2WF

请将其保存为jpg格式,并尝试使用上述逻辑压缩图像,并在压缩前后检查图像。可以使它不那么有光泽或更具可读性吗?

当用jpeg而不是jpg替换格式并尝试压缩jpeg图像时,它就像一个美女。

0 个答案:

没有答案