Java使用Thumbnailator給圖片加水印

xeblog發表於2019-03-06

原文地址:https://xeblog.cn/articles/10

Thumbnailator簡介

Thumbnailator是一個高質量的縮圖生成的Java庫。

支援:

  • 從現有的影象建立高質量的縮圖。
  • 給圖片加水印,可以設定水印的透明度(0%~100%)。
  • 支援縮圖的旋轉,大小調整。
  • 圖片批量處理。

官方介紹:github.com/coobird/thu…

應用

新增依賴

<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();
	}
}
複製程式碼

測試效果

原圖

Java使用Thumbnailator給圖片加水印

水印圖

Java使用Thumbnailator給圖片加水印

原圖加水印後

Java使用Thumbnailator給圖片加水印

參考

github.com/coobird/thu…

相關文章