天天看點

4-3 Thumbnailator圖檔處理和封裝Util【通過java代碼實作給圖檔打上水印】4-3 Thumbnailator圖檔處理和封裝Util

SSM到Spring Boot-校園商鋪平台——>第04章 店鋪注冊功能子產品——>4-3 Thumbnailator圖檔處理和封裝Util

幾乎所有電商類的java實戰項目,都需要實作圖檔上傳功能。本篇部落客要提供一種給上傳圖檔打上個性化水印的實作。

4-3 Thumbnailator圖檔處理和封裝Util

一、導入相關依賴坐标

<!-- 圖檔處理 a thumbnail generation library -->
		<dependency>
			<groupId>net.coobird</groupId>
			<artifactId>thumbnailator</artifactId>
			<version>0.4.8</version>
		</dependency>
           

二、提供一個可以使用的水印圖檔

在本地項目的src/main/resources目錄下,事先準備好一個名為 watermark.jpg的檔案。

4-3 Thumbnailator圖檔處理和封裝Util【通過java代碼實作給圖檔打上水印】4-3 Thumbnailator圖檔處理和封裝Util
4-3 Thumbnailator圖檔處理和封裝Util【通過java代碼實作給圖檔打上水印】4-3 Thumbnailator圖檔處理和封裝Util

三、在util包下建立一個工具類ImageUtil

import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;



public class ImageUtil {
    //main函數的入口
    public static void main(String[] args) throws IOException {
        //擷取目前線程的基礎路徑
        String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
        //類的靜态方法和鍊式程式設計
        Thumbnails.of(new File("F:\\javaweb\\taotao-upload\\images\\真是悠哉啊.jpg"))
        .size(1280, 720).watermark(Positions.BOTTOM_RIGHT,
                                  ImageIO.read(new File(basePath + "/watermark.jpg")), 
                                  0.25f).outputQuality(0.8f)
        .toFile("F:\\javaweb\\taotao-upload\\images\\真是悠哉啊new.jpg");    
    }   
}
           

在win10系統下的 F:\javaweb\taotao-upload\images目錄裡先準備好一個“真是悠哉啊.jpg”檔案。

4-3 Thumbnailator圖檔處理和封裝Util【通過java代碼實作給圖檔打上水印】4-3 Thumbnailator圖檔處理和封裝Util
4-3 Thumbnailator圖檔處理和封裝Util【通過java代碼實作給圖檔打上水印】4-3 Thumbnailator圖檔處理和封裝Util

Run As ——>Java Application  

控制台沒有任何輸出提示,直接去檔案目錄下檢視結果即可。

================================================================================

附錄:參考資料

4-3 Thumbnailator圖檔處理和封裝Util【通過java代碼實作給圖檔打上水印】4-3 Thumbnailator圖檔處理和封裝Util

end

繼續閱讀