Atitit. 图像处理jpg图片的压缩 清理垃圾图片 java版本
3. Thumbnails质量压缩builder.outputQuality(0.9);
2
1. 清理图片压缩图片尺寸
目标::300kb>>>10kb..
处理流程:::scale,outputQuality(0.5)
裁剪crop,only 顶一半....
在上传到个云盘,cp处理..sysn
处理出来个mini版本的pic folder..在跟个ori 大的尺寸文件夹sync..删除别的不要的...
中间走不个不要的图片删除出k兰...
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 所以要使用ImageWriter
ImageIO虽然能支持选定格式的输出
但是不能自己设置质量
iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); // 设置可否压缩
3. Thumbnails质量压缩builder.outputQuality(0.9);
00001. builder.outputQuality(0.9); //参数是浮点数,0-1之间
质量压缩
00001. builder.outputQuality(0.9); //参数是浮点数,0-1之间
4. attilax框架的处理 code
atibrow
public void scale4clr(String jpg, String deboxJpg, int width)
throws IOException {
Image img = ImageIO.read(new File(jpg));
int width2 = img.getWidth(null);
if(width2<width+2)
{System.out.println("--skip:"+jpg);
return;
}
//int wid = width2 - (border * 2);
double scale_perst=(double)width/(double)width2;
double nowhit=img.getHeight(null);
double nowwit=scale_perst*width2;
int nowhit_haf=(int) img.getHeight(null)/2;
//int hit = img.getHeight(null) - (border * 2);
Thumbnails.of(jpg).scale(scale_perst).sourceRegion(Positions.TOP_LEFT, (int) width2, nowhit_haf).outputFormat("jpg").outputQuality(0.5).toFile(deboxJpg);
}
5. 到一篇文章提到如何控制jpg图片后压缩的质量
http://www.universalwebservices.net/web-programming-resources/java/adjust-jpeg-image-compression-quality-when-saving-images-in-java/
重点我这里提出来说一下
ImageWriter writer; // 自己获取 ImageWriter 对象
ImageWriteParam iwp = writer.getDefaultWriteParam();
iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
// 参数为0和1
// 1表示设置最小的压缩以保持最大的图片质量
iwp.setCompressionQuality(1);
File file = new File(OUTPUTFILE);
FileImageOutputStream output = new FileImageOutputStream(file);
writer.setOutput(output);
IIOImage image = new IIOImage(BUFFEREDIMAGE, null, null);
// 写入图片
writer.write(null, image, iwp);
writer.dispose()
6. 参考
JAVA 图像处理库 Thumbnails-强子IT博客.htm
图像按质量压缩、转换为字符数组小结 - kfhzy的专栏 - 博客频道 - CSDN.NET.htm
如何用java 调整jepg图片压缩? - Java - 知乎.htm
java中图片按质量压缩的再一次小结 - - ITeye技术网站.htm