我打電話通過node.js imagemagick腳本和命令打破,但我不明白爲什麼。node.js到imagemagick命令打破
的正是我試圖做一個簡單的例子:
var spawn = require('child_process').spawn,
ls = spawn('convert', ['-size', '168x45', 'xc:transparent', '-draw', '"image over 0,0 0,0 \'/path/to/img1.png\'"', '/path/to/out.png']);
ls.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
如果我運行的確切命令(改變的唯一事情是路徑,因爲他們是絕對的),我得到的,在標準錯誤:
"convert: non-conforming drawing primitive definition `image over 0,0 0,0 '/path/to/img1.png'' @ error/draw.c/DrawImage/3145."
其中,根據一些論壇上,通常意味着IM不能打開圖像由於具有無效路徑,等等...現在奇怪的是,如果我改變convert
到echo
和prepend convert
我收到以下命令:
convert -size 168x45 xc:transparent -draw "image over 0,0 0,0 '/path/to/img1.png'" /path/to/out.png
當從bash直接運行時,它完美地工作。
任何想法?
更多信息:
- 我只是嘗試這樣做,從圖像的目錄,並刪除該路徑(所以它的
image over ... img1.png
),我也得到了同樣的錯誤。 - 運行
pwd
以同樣的方式給了我相應的目錄
聽起來像轉換 – jcolebrand