Node.js圖片裁剪、合併

1、安裝工具(僅限mac系統)

<code>brew install imagemagick 或者 brew install graphicsmagick/<code>

注:windows和linux自行搜索安裝方式

2、npm包依賴安裝

<code>npm install gm 或者 cnpm install gm/<code>

3、將圖片進行裁剪(圓形化處理)。

<code>let gm = require('gm').subClass({ imageMagick: true });

let original = './static/images/1.jpg'; // 原始圖片路徑

let output = './static/images/2.png'; // 生成新圖片路徑,注意後綴為png格式

let size = 150;

gm(original)

\t.resize(size, size)

\t.write(output, function() {

\t\tgm(size, size, 'none')

\t\t\t.fill(output)

\t\t\t.drawCircle(size/2,size/2, size/2, 0) // 圓心x, 圓心y, 圓半徑r, 畫筆

\t\t\t.write(output, function(err) {

\t\t\t\tconsole.log(err || 'done');

\t\t\t});
});/<code>

附圖1:

Node.js將裁剪圖片進行圓形化處理

4、將圖片進行合併。

<code>let gm = require('gm').subClass({ imageMagick: true });
let source1 = './static/images/1.jpg';
let source2 = './static/images/2.png';
let dest = './static/images/output.png'

gm()
.in('-page', '+0+0')
.in(source1)
.in('-page', '+200+200') // x,y -> 100, 200
.in(source2)
.mosaic()
.write(dest, function (err) {
console.log(err || 'done');
});/<code>

附圖2:

Node.js圖片合併