Java,图片上传压缩图片质量,亲测可用!!

zzzzchen 的个人博客 记录精彩的程序人生 本文由博客端 https://www.dczzs.com 主动推送

20210429114851.jpg

一、pom.xml

项目中引入

        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
            <version>0.4.8</version>
        </dependency>

二、使用

Thumbnails.of(realFile).scale(1f).outputQuality(0.5f).toFile(toPath);

参数说明:

of:一个可用图片的 File 类,也可以是图片路径

scale:改变图片大小,1f 为正常大小,小于 1f 为将图片改小,大于 1f 将图片改大

outputQuality:压缩图片质量,1f 为正常图片质量,小于 1f 为将图片质量改小,大于 1f 将图片质量改大

toFIle:要保存到哪里的路径,可以是 File 类,也可以是路径

三、注意事项

1、这个类对于压缩 JPG 格式的图片好处多多,可以将一个 1M 的图片压缩为 200K 左右,清晰度还不会掉很多

image.png

image.png

2、唯一的缺点就是,如果图片是 PNG 格式的话,图片非但不会变小,反而更大了,可以使用一下代码将图片地址后缀改为.jpg 后在进行压缩保存。
        if(toPath.contains(".png")){
            toPath = toPath.replace(".png",".jpg");
        }
3、如果你需要的是 PNG 格式的透明图层的话,那就不要用这个压缩成 jpg 格式了,因为一旦 PNG 转成 JPG 格式透明图层就没了。还是要针对自己的业务来下手。
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2936 引用 • 8125 回帖 • 659 关注

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...