欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用 Node.js 的 gm 工具对图片进行处理和编辑

最编程 2024-08-07 11:13:32
...

NodeJs 两种最常用的图片处理工具:GraphicsMagick 或 ImageMagick,GM 是 IM 的分支,这两个图片处理工具功能基本相同,各有特色。但他们并不是 NodeJs 的插件,它们都是客户端软件,linux 和 win 版的都有。在 NodeJs 中有一个插件叫 gm,它完成了对上述两个工具的封装。

官网示例:http://aheckmann.github.io/gm/

可在线调试

一、快速入门

实现流程:

  1. 先下载并安装 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 ,不报错即是设置成功!

  1. 安装 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)画个圆


中文乱码: https://juejin.im/search?query=nodeJS%20gm&type

推荐阅读