• Atitit. 图像处理jpg图片的压缩 清理垃圾图片 java版本


    Atitit. 图像处理jpg图片的压缩  清理垃圾图片 java版本

    1. 清理图片压缩图片尺寸 1

    2. 所以要使用ImageWriter 1

    3. Thumbnails质量压缩builder.outputQuality(0.9); 2

    4. attilax框架的处理 code 2

    5. 到一篇文章提到如何控制jpg图片后压缩的质量 3

    6. 参考 4

    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 deboxJpgint 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=(intimg.getHeight(null)/2;

    //int hit = img.getHeight(null) - (border * 2);

    Thumbnails.of(jpg).scale(scale_perst).sourceRegion(Positions.TOP_LEFT, (intwidth2nowhit_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

  • 相关阅读:
    EL表达式(Expression Language)
    JSP简单功能介绍
    MySQL基础使用
    JDBC
    MySQL安装卸载
    stanfordnlp dependencies(依存关系简写表)
    不需要深度学习就能做的文本分类器
    词向量的cbow模型
    pytorch实现自己的textCNN
    OpenCV编译viz模块
  • 原文地址:https://www.cnblogs.com/attilax/p/5963685.html
Copyright © 2020-2023  润新知