本文主要介绍 Node 图片绘制及合成的一些方式,不涉及图表相关。

实践方式

  1. node-canvas - 类前端
    这里说的 canvas 是 web canvas 的 node 实现。其 api 与 web canvas 高度相似。

    安装:

    1
    npm install canvas
  2. gm - node
    gm 是通过 node 调用 GraphicsMagickImageMagick 来实现绘图功能的。其中,GraphicsMagick “短小精悍”,号称是“图像处理领域的瑞士军刀”, 是从 ImageMagick 5.2.2 中独立出来的。
    gm 支持链式调用,基本功能类似 canvas api,但更强大。可查看官方文档深入研究。

    使用方法:

    (1) 下载 GraphicsMagick 和 ImageMagick

    Mac 上可以直接直接使用 Homebrew 下载安装:

    1
    2
    brew install imagemagick
    brew install graphicsmagick

    (2) 安装 gm

    1
    npm install gm

    (3) 基本使用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    const gm = require('gm')
    gm('/path/to/img.jpg')
    .font('/path/to/font.ttc') // 字体文件
    .fontSize(70)
    .fill('#ffe600')
    .drawText(0, 70, 'Hello')
    .resize(200, 100)
    .write('/path/to/resize.png', function (err) {
    if (!err) console.log('done')
    })

一些有意思的 Package

参考链接