NodeJs 两种最常用的图片处理工具:GraphicsMagick 或 ImageMagick,GM 是 IM 的分支,这两个图片处理工具功能基本相同,各有特色。但他们并不是 NodeJs 的插件,它们都是客户端软件,linux 和 win 版的都有。在 NodeJs 中有一个插件叫 gm,它完成了对上述两个工具的封装。
官网示例:http://aheckmann.github.io/gm/
一、快速入门
实现流程:
- 先下载并安装 GraphicsMagick 或 ImageMagick
官网下载软件: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 还的 配置环境变量。我的路径为 D:\GraphicsMagic\GraphicsMagick-1.3.33-Q16
复制到系统环境变量确定就行了。桌面打开 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) 图片模糊,第一个参数模糊半径,第二个参数模糊透明度。
-
crop(width, height, x, y) 裁剪图片指定位置。
-
edge(radius) 图片强调边
-
drawCircle(20, 20, 20, 10)画个圆
网友评论