我在节点中使用imagemagick时遇到了困难。它与以下消息一起出错:
/usr/src/love/mean/node_modules/imagemagick/imagemagick.js:156
geometry = result['geometry'].split(/x/);
^
TypeError: Cannot call method 'split' of undefined
at null.callback (/usr/src/love/mean/node_modules/imagemagick/imagemagick.js:156:39)
at Accumulator.finish (/usr/src/love/mean/node_modules/imagemagick/imagemagick.js:60:55)
at ChildProcess.<anonymous> (/usr/src/love/mean/node_modules/imagemagick/imagemagick.js:86:11)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Socket.<anonymous> (child_process.js:956:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:465:12)
代码非常简单:
var im = require('imagemagick');
im.identify('li14_beach.jpg', function(err, features){
if (err) throw err;
console.log(features);
// { format: 'JPEG', width: 3904, height: 2622, depth: 8 }
});
图像li14_beach.jpg
与节点可执行文件位于同一目录中。
我在 CentOS 6 上运行 ImageMagick 6.5.4-7 2014-02-10。可以通过命令行使用命令Convert
和Identify
。奇怪的是,上面的工作在Ubuntu上运行良好。
由于
答案 0 :(得分:1)
我手动解决了这个问题。 刚刚编辑过imagemagick.js文件并将几个if表达式放在那里,比如
if(result['geometry']) ...
结束其他需要的