在node.js中使用imagemagick调整图像大小
在我的应用程序,我试图调整图像使用imagemagick,但我有以下错误时resize错误:imagesexecvp():没有这样的文件或directory.this是我的代码
im.resize({ srcPath: '/tmp/Images/' + req.files.image.name, dstPath: 'resized_'+req.files.image.name , width:42, height:42 }, function(err, stdout, stderr){ if (err) { console.log('error while resizing images' + stderr); }; });
imagemagick模块使用convert
和identify
命令,并且您所描述的错误可能会发生,因为找不到命令。 确保命令位于path环境variables引用的文件夹中,或者可以引用节点应用程序中的命令:
var im = require('imagemagick'); im.identify.path = '/opt/ImageMagick/bin/identify' im.convert.path = '/opt/ImageMagick/bin/convert';
它看起来像你正在尝试调整文件的大小,而不改变目的地。 尝试这个:
im.resize({ srcPath: process.cwd() + '/tmp/Images/' + req.files.image.name, dstPath: process.cwd() + '/tmp/Images/resized_'+req.files.image.name , width:42, height:42 }, function(err, stdout, stderr){ if (err) { console.log('error while resizing images' + stderr); }; console.log( process.cwd() + '/tmp/Images/' + req.files.image.name + 'has been resized and saved as ' + process.cwd() + '/tmp/Images/resized_'+req.files.image.name) });
您也可以在/tmp/Images/
检查您的权限(ls -l),以确保它们设置正确
你需要安装image magic命令行工具。 尝试brew install imagemagick
如果你在Ubuntu上,像这样安装包:
apt-get install imagemagick
之后,再试一次:D
- Graphicsmagick autoOrient()。size()在node.js库中给出了翻转的图像大小
- 当使用bas64string作为参数调用时,节点gm(imagemagick)似乎不起作用
- 运行ImageMagick的NodeJ转换来自目录的所有图像
- 在nodejs中使用imagemagick调整图像大小时出错,如何解决这个问题?
- Graphicsmagick节点不写入JPG
- 尝试在Azure上使用imagemagick会导致“系统找不到文件”错误
- 在node.js中的gm转换问题
- 如何在Joyent Node SmartMachine上安装ImageMagick?
- ()GraphicsMagic中如何将图像缓冲区数据传递给gm