美文网首页基础前端
NodeJs 使用 gm 对图片进行加工

NodeJs 使用 gm 对图片进行加工

作者: CondorHero | 来源:发表于2019-09-25 18:57 被阅读0次

    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

    相关文章

      网友评论

        本文标题:NodeJs 使用 gm 对图片进行加工

        本文链接:https://www.haomeiwen.com/subject/ioonyctx.html