目录

chen 的个人博客

VX:ZzzChChen
Phone:13403656751
Email:zxydczzs@gmail.com

X

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

20210429114851.jpg

一、pom.xml

项目中引入

1        <dependency>
2            <groupId>net.coobird</groupId>
3            <artifactId>thumbnailator</artifactId>
4            <version>0.4.8</version>
5        </dependency>

二、使用

1Thumbnails.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 后在进行压缩保存。
1        if(toPath.contains(".png")){
2            toPath = toPath.replace(".png",".jpg");
3        }
3、如果你需要的是 PNG 格式的透明图层的话,那就不要用这个压缩成 jpg 格式了,因为一旦 PNG 转成 JPG 格式透明图层就没了。还是要针对自己的业务来下手。

标题:Java,图片上传压缩图片质量,亲测可用!!
作者:zzzzchen
地址:https://dczzs.com/articles/2021/05/13/1620900755734.html