如何在节点imagemagick模块转换函数中传递多个参数

我使用节点imagemagick模块的转换function当我通过terminal使用此命令,那么它工作正常

convert /home/manish/Downloads/new_images/slim_fit_double_breasted_coat_base.png /home/manish/Desktop/Medium-Vichy-9274-Fabric-Gauloise-058.jpg \( -clone 0 -auto-level \) \( -clone 1 -clone 0 -alpha set -virtual-pixel transparent -compose displace -set option:compose:args -5x-5 -composite \) fabric2.png 

但是当我在节点模块中传递相同的命令时,它不会给出预期的结果。

这是我的代码

 var im = require('imagemagick'); im.convert(['/home/manish/Downloads/new_images/slim_fit_double_breasted_coat_base.png','/home/manish/Desktop/green-flower-lavender-eye-pillow-fabric.jpg', '-clone', '0', '-auto-level','-clone','1','-clone','0','-alpha' , 'set' ,'-virtual-pixel','transparent','-compose','displace','-set','option:compose:args -5x-5 ','-composite','fabricted111.png'], function (err, stdout) { if (err) throw err; console.log('stdout:', stdout); }); 

它在这个论点是给错误的

 '-set','option:compose:args -5x-5 ','-composite' 

看起来您的代码缺less映像堆栈操作符\( ... \) ,因此您的代码与CLI命令不匹配。

 command = ['/home/manish/Downloads/new_images/slim_fit_double_breasted_coat_base.png', '/home/manish/Desktop/green-flower-lavender-eye-pillow-fabric.jpg', '\\(', // <--- missing ( '-clone', '0', '-auto-level', '\\)', // <--- missing ) '\\(', // <--- missing ( '-clone', '1', '-clone', '0', '-alpha', 'set', '-virtual-pixel', 'transparent', '-compose', 'displace', '-set', 'option:compose:args -5x-5 ', '-composite', '\\)', // <--- missing ) 'fabricted111.png']; im.convert(command, function (err, stdout) { if (err) throw err; console.log('stdout:', stdout); });