安装ImageMagick 或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填充