node.js - NODE JS 使用 gm 进行动态图像编辑

标签 node.js graphicsmagick

我正在使用gm适用于 Windows 中的 Node.js。

我已经安装了 Ghostscript、graphisMagick 和 ImageMagick。

我想模糊图像并在其上添加文本。

gm(dir + '/original.png')
  .blur(8, 4)
  .drawText(-20, 98, "graphics magick")
  .write(dir + '/drawing.png', function(err){
    if (err) return console.dir(arguments)
    console.log(this.outname + ' created  :: ' + arguments[3])
  }
) 

绘制文本失败并显示以下控制台输出。

{ '0':
   { [Error: Command failed: gm convert: Unable to read font (n019003l.pfb) [No
such file or directory].
   ] code: 1, signal: null },
  '1': '',
  '2': 'gm convert: Unable to read font (n019003l.pfb) [No such file or director
y].\r\n',
  '3': 'gm "convert" "C:\\Work\\Rnd\\bkop_final\\example/imgs/original.png" "-st
roke" "#ffffff" "-draw" "circle 10,10 20,10" "-pointsize" "12" "-font" "Helvetic
a.ttf" "-draw" "text 30,20 \\"GMagick!\\"" "C:\\Work\\Rnd\\bkop_final\\example/i
mgs/drawing.png"' }

如果我删除drawText,效果就很好。

最佳答案

缺少字体。它与node.js 无关。 这是关于 Ghostscript 安装的。

您确定 Ghostscript 在您的路径中并且 你读过吗

http://ghostscript.com/doc/current/Install.htm (参见“字体”)

关于node.js - NODE JS 使用 gm 进行动态图像编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24283788/

相关文章:

node.js - graphql 模块不调用 __resolveType

node.js - 在node.js中如何要求与当前文件不在同一文件夹中的模块

node.js - Mongoose 时间戳返回错误的日期

node.js - IDE 在 PATH 中找不到 Node 二进制文件,但在 `echo $PATH` (Ubuntu Linux) 期间显示

imagemagick - 带有标题的 mogrify(imagemagick 或 graphicsmagick)

node.js - Graphicsmagick 无法在带有 nodejs 和 S3 的 Elastic Beanstalk 中工作

javascript - 使用 node.js 上传后解析 CSV 的第一行

node.js - 有没有办法在 Heroku 上安装 GraphicsMagick?

node.js - Node 中具有 gm、缓冲区和 promise 的非常随机的行为

node.js - 如何在node.js中使用graphicsmagick裁剪圆形图片(其他使用任何其他方式在node.js上制作此图片)