带有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 裁剪图像的一部分并将其粘贴到另一个图像中不起作用