nodejs gm

安装 GraphicsMagick

文档 http://aheckmann.github.io/gm/docs.html

安装gm

 yarn add gm

eg:

var gm = require('gm').subClass({imageMagick: true})
gm('1.jpg').size(function (err, size) {
if (!err){
console.log(size);
}
});

注:

  如果安装的是GraphicsMagick

var gm = require('gm')

图片缩放

(1)保持宽高比,宽为100

gm("1.jpg").resize(100).write('tesOutput.jpg', function (err) {
    if (err) console.log(err);
})

(2)保持宽高比,高为100

var gm = require('gm').subClass({imageMagick: true})
gm("1.jpg").resize(null,100).write('tesOutput1.jpg', function (err) {
    if (err) console.log(err);
})

(3)忽略宽高比,宽为100高为100

var gm = require('gm').subClass({imageMagick: true})
gm("1.jpg").resize(100,100,"!").write('tesOutput2.jpg', function (err) {
    if (err) console.log(err);
})

(4)保持宽高比,宽为100高为100

var gm = require('gm').subClass({imageMagick: true})
gm("1.jpg").resize(100,100).write('tesOutput3.jpg', function (err) {
    if (err) console.log(err);
})

图片剪裁

var gm = require('gm').subClass({imageMagick: true})
gm("1.jpg").crop(100, 100, 200, 100).write('tesOutput4.jpg', function (err) {
    if (err) console.log(err);
})

说明:

  .crop(width, height, x, y)

  从图片的(x, y)位置开始,裁剪出一个width*height的图片来

图片旋转

var gm = require('gm').subClass({imageMagick: true})
gm("1.jpg").rotate('blue', 45).write('tesOutput5.jpg', function (err) {
    if (err) console.log(err);
})

说明:

  .rotate(color, degrees)

  旋转degrees,背景用color填充