NodeJs 兩種最常用的圖片處理工具:GraphicsMagick 或 ImageMagick门粪,GM 是 IM 的分支萝快,這兩個圖片處理工具功能基本相同,各有特色赤惊。但他們并不是 NodeJs 的插件衫仑,它們都是客戶端軟件梨与,linux 和 win 版的都有。在 NodeJs 中有一個插件叫 gm文狱,它完成了對上述兩個工具的封裝粥鞋。
官網(wǎng)示例:http://aheckmann.github.io/gm/
可在線調試
一、快速入門
實現(xiàn)流程:
- 先下載并安裝 GraphicsMagick 或 ImageMagick
官網(wǎng)下載軟件:http://www.graphicsmagick.org/
下載完可直接進行安裝瞄崇。比如我的安裝在D:\GraphicsMagic
目錄里面呻粹,進入安裝目錄,找到 gm.exe 苏研,雙擊打開等浊,同時閃過一個黑色的窗口,所以這是個命令行工具摹蘑,打開CMD 窗口直接輸入gm
筹燕。會顯示出 gm 的命令行用法。簡單進行個測試看看能不能使用:讓一個a.jpg 的圖片重命名為 b.jpg 。
gm convert a.jpg b.png
成功的話撒踪,會看到文件夾多出來一個 b.png 圖片过咬。
軟件 GraphicsMagick 安裝好要想使用 gm 還的 配置環(huán)境變量。我的路徑為 D:\GraphicsMagic\GraphicsMagick-1.3.33-Q16
復制到系統(tǒng)環(huán)境變量確定就行了制妄。桌面打開 CMD 輸入 gm 掸绞,不報錯即是設置成功!
- 安裝 gm 依賴:
npm install --save gm
書寫 app.js 文件:
var gm = require("gm");
gm("./nodejs.png")
.resize(200, 200)
.rotate('green', 45)
.write("./1.png", function (err) {
if (!err) console.log(' hooray! 喝忍捡,萬歲集漾!');
});
node app.js
C:\Users\Administrator\Desktop\express-session>node app.js
hooray! 喝切黔,萬歲砸脊!
以前的圖片:
nodejs.png
修改之后的圖片:
二、常見 API
基本上可以對圖片進行添加水印文字/圖片纬霞、圖片裁剪凌埂。
- resize() 設置圖片大小
- rotate(color,degree) 對圖片進行旋轉诗芜,color留白填充的顏色瞳抓,degree 旋轉角度。
-
blur(radius, 3) 圖片模糊伏恐,第一個參數(shù)模糊半徑孩哑,第二個參數(shù)模糊透明度。
-
crop(width, height, x, y) 裁剪圖片指定位置翠桦。
-
edge(radius) 圖片強調邊
-
drawCircle(20, 20, 20, 10)畫個圓