java图片压缩(thumbnailator)
引入
maven包
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
使用示例
String newPath = path.substring(0, path.lastIndexOf(".")) + ".jpg";
Thumbnails.of(path)
.size(860, 2000) // 宽高最大值,超过会等比缩放
.outputFormat("jpg") // 格式转换
.outputQuality(0.8) // 图片质量
.toFile(newPath);
避坑
CMYK模式的图像转换后会导致偏色、全黑等异常,需要在maven中加入:
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>3.3</version>
</dependency>
此包无侵入性,加入后无需引入,自动起作用