带有nodejs的imagemagick不起作用

Posted

技术标签:

【中文标题】带有nodejs的imagemagick不起作用【英文标题】:imagemagick with nodejs not working 【发布时间】:2012-07-28 19:24:42 【问题描述】:

我正在尝试使用 node-imagemagick 库调整图像大小,但它不起作用。

我用来调整大小的代码是

im.resize(
      srcPath: __dirname+'originalimage.jpg',
      dstPath: __dirname+'resized.jpg',
      width: 50
    , function(err, stdout, stderr)
      if (err) throw err;

    );

它会抛出错误

Error: Command failed: Invalid Parameter - -set

    at ChildProcess.<anonymous> (E:\NodeJsDevelopment\node_modules\imagemagick\imagemagick.js:64:15)
    at ChildProcess.EventEmitter.emit (events.js:91:17)
    at Process._handle.onexit (child_process.js:674:10)

【问题讨论】:

你安装了“imagemagick”吗?不是 npm 包? sudo apt-get install imagemagick 【参考方案1】:

在 Windows 上,您还需要安装 imagemagick exe。 nodejs imagemagick 库只是 imagemagick exe 的包装器。所以在安装 imagemagick exe 并且转换和识别可执行文件在路径中之前它不会工作。

【讨论】:

您需要在几乎所有平台上安装 imagemagick(应用程序)。例如,在 Mac 上,我使用 Brew 安装它 - brew install imagemagick 对于任何来到这里的人,因为您在 Windows 下遇到上述错误...将您的 identify.exe 和 convert.exe 放入与 server.js(或 app.js)相同的目录中。简单地在全球范围内注册 imagemagick 对我不起作用。 重新启动 Windows 而不是复制那些对我有用的 exe 文件【参考方案2】:

只是你的系统中没有安装 ImageMagick。如果您使用的是 Linux 发行版,您可以这样做:

sudo apt-get install imagemagick

【讨论】:

imagemagick,而不是 ImageMagick。包名区分大小写。 (使用 Ubuntu 服务器)

以上是关于带有nodejs的imagemagick不起作用的主要内容,如果未能解决你的问题,请参考以下文章

带有反向代理 Nginx 服务器和 nodejs 的 CORS 将不起作用

使用 imagemagick linux 脚本裁剪图像不起作用

使用imagemagick linux脚本裁剪图像不起作用

使用 Imagemagick 裁剪图像的一部分并将其粘贴到另一个图像中不起作用

为啥 PHP exec('convert input.pdf output.jpg') 不起作用?

重启centos服务器后Nodejs API不起作用