原文地址: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();
}
}
複製程式碼
測試效果
原圖
水印圖
原圖加水印後