目录

zzzzchen 的个人博客

记录精彩的程序人生

X

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

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,图片上传压缩图片质量,亲测可用!!
作者:zzzzchen
地址:https://dczzs.com/articles/2021/05/13/1620900755734.html