很多時候,為了保護版權、保護原創,或是宣傳的需要,我們需要給圖片加水印的。
Node.JS中給圖片加水印是很簡單的,通過一個三方庫:images可以很方便的實現。
本示例有三個文件,一個程序文件、一張圖片、一個水印圖片:
圖片可以是jpg或png,水印需要是PNG,因為水印可能要做個圓角或其它部分可能需要透明的形狀。
實現代碼:
var images = require('images');
//水印圖片
var watermarkImg = images('water_logo.png');
//等待加水印的圖片
var sourceImg = images("test.jpg");
// 比如放置在右下角,先獲取原圖的尺寸和水印圖片尺寸
var sWidth = sourceImg.width();
var sHeight = sourceImg.height();
var wmWidth = watermarkImg.width();
var wmHeight = watermarkImg.height();
//設置繪製的座標位置,右下角距離 5px
images(sourceImg).draw(watermarkImg, sWidth - wmWidth - 5, sHeight - wmHeight - 5)
//保存
.save("test2.jpg");
代碼很簡單,即準備好原圖,將水印和原圖合併到一起,並保存。
node test
運行,即成生成基於test.jpg並帶有水印的圖片test2.jpg。
看效果:
用nodejs給圖片加水印,就是這麼簡單。