原文地址:https://xeblog.cn/articles/10
Thumbnailator简介
Thumbnailator是一个高质量的缩略图生成的Java库。
支持:
- 从现有的图像创建高质量的缩略图。
- 给图片加水印,可以设置水印的透明度(0%~100%)。
- 支持缩略图的旋转,大小调整。
- 图片批量处理。
应用
添加依赖
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
复制代码
图片加水印
本文是将水印图片放入项目的resource目录下,原图是放在桌面上的,最后生成的加水印的图片也是放在桌面上,可以根据需要更换相应路径
代码示例:
public static void main(String[] args) {
// 原图片地址
String imageUrl = "/Users/yanpanyi/Desktop/image.jpeg";
// 水印图片 相对于resource目录
String watermark = "/watermark.png";
// 输出到文件
String outputFile = "/Users/yanpanyi/Desktop/test.jpeg";
// 不透明度
float opacity = 0.25f;
try {
// 获取原图文件
File file = new File(imageUrl);
// ImageIO读取图片
BufferedImage image = ImageIO.read(file);
Thumbnails.of(image)
// 设置图片大小
.size(image.getWidth(), image.getHeight())
// 加水印 参数:1.水印位置 2.水印图片 3.不透明度0.0-1.0
.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(WatermarkDemo
.class.getResourceAsStream(watermark)), opacity)
// 输出到文件
.toFile(outputFile);
} catch (IOException e) {
e.printStackTrace();
}
}
复制代码
测试效果
原图
水印图
原图加水印后