Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。还支持对一个目录的所有图片进行批量处理操作。
一、导入依赖
<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
二、案例
1、从图像文件创建缩略图
Thumbnails.of(new File("D:\original.jpg")) //原图片位置
.size(160, 160) //调整大小
.toFile(new File("E:\thumbnail.jpg")); //调整后
2、创建带有旋转和水印的缩略图
Thumbnails.of(new File("original.jpg"))
.size(160, 160)
.rotate(90) //顺时针旋转90°
//水印位置,水印图片读取流(路径)、透明度
.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)
//压缩倍数
.outputQuality(0.8)
.toFile(new File("image-with-watermark.jpg"));