1、导入依赖包
http://Mvnrepository地址
<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
2、在代码中实现(一般是在工具类,或者实现类中)。关键代码如下:
//判断图片大小,如果图片大于20 * 1024 则进行压缩处理。
if (size > 20 * 1024) {
//imageFilePath为原图文件的路径,scale(0.1f)为压缩比,toFile为输入文件,thumImageFilePath为压缩后文件的路径;
/** .scale(0.5) 长宽都缩小0.5 , scale(1,0.5) 长不变,宽为原来的0.5
* .outputQuality 为图片的输出质量 1为最高质量 如:outputQuality(0.5)图片质量为原来的0.5。
* .outputFormat 为图片的输出格式等; 如:outputFormat("png")为输出的图片为png格式。
* .size 也可以使用对图片进行指定缩小或放大 如:.size(100,75)即为像素比:100×75;size和scale效果类似,用一个即可。
* .rotate(90)为顺时针旋转90度。
* .watermark(Positions.BOTTOM_RIGHT, watermark(new File("watermark.png")), 0.5f) 为缩略图添加水印,1为不透明。
* */
Thumbnails.of(imageFilePath).scale(0.1f).toFile(thumImageFilePath);
}
至此,即可对图片处理操作。