缺少仅从Node.js运行的图像文件名ImageMagick convert
我建立了一个小脚本,将首先蒙太奇8瓷砖在一起,然后缩小它,然后它不得不扭曲的形象 一切都按计划进行,直到变形部分缺少仅从Node.js运行的图像文件名ImageMagick convert,node.js,imagemagick,imagemagick-convert,Node.js,Imagemagick,Imagemagick Convert,我建立了一个小脚本,将首先蒙太奇8瓷砖在一起,然后缩小它,然后它不得不扭曲的形象 一切都按计划进行,直到变形部分 this.distort = function(filename) { var distortDeferred = Q.defer(); var totalWidth = width * waves * 2, totalHeight = height * waves * 2; var params = [ filename, '-matte
this.distort = function(filename) {
var distortDeferred = Q.defer();
var totalWidth = width * waves * 2,
totalHeight = height * waves * 2;
var params = [
filename,
'-matte',
'-virtual-pixel',
'transparent',
'-distort',
'Perspective "{left},{top} {newLeft},{top} {left},{bottom} {left},{bottom} {right},{bottom} {right},{bottom} {right},{top} {newRight},{top}"'.assign({
left: 0,
top: 0,
newLeft: totalWidth * distortPercentage,
bottom: totalHeight,
right: totalWidth,
newRight: totalWidth - totalWidth * distortPercentage
}),
filename
];
im.convert(params, function() {
console.log(arguments);
});
return distortDeferred.promise;
};
以下函数将给出错误:
Error: Command failed: convert: missing an image filename `tmp/5458f2e3d6840bb65ba6100f.png' @ error/convert.c/ConvertImageCommand/3184.
在命令行上运行完全相同的操作将获得所需的输出
我可能犯的错误以及我已经测试过的错误:
- 两个图像转换,同时转换图像
- 不存在图像
- 图像的文件权限设置不正确
- ImageMagick缺少插件
fs.fileExists
测试了这一点。结果如预期
图像的文件权限设置不正确
为了安全起见,我在文件夹上尝试了一个chmod-R 777文件夹
。结果如预期
ImageMagick缺少插件
在谷歌搜索之后,我遇到了一些没有安装合适插件的人,他们收到了与我相同的错误
显然,它与缺少JPEG库或PNG有关
所以在运行了identifite-list format
之后,很明显我已经安装了相应的库来完成这样的操作
简介
我认为错误也可能在node而不是ImageMagick中找到,因为操作从命令行运行时没有问题