0

我在节点中使用 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与节点可执行文件位于同一目录中。

我有ImageMagick 6.5.4-7 2014-02-10 在CentOS 6上运行。这些命令ConvertIdentify可通过命令行获得。奇怪的是,以上在 Ubuntu 上运行良好。

谢谢

4

1 回答 1

1

我手动解决了这个问题。刚刚编辑了 imagemagick.js 文件并放了几个 if 表达式,比如

if(result['geometry']) ...

结束其他需要

于 2015-07-10T08:36:34.597 回答