1
我有一個imagemagick腳本,我需要在節點中使用。它適用於child_process.exec函數。我不確定如何將它發送給exec命令,所以我試圖使用產卵。child_process.spawn在參數中帶括號
這工作正常。沒問題。
var spawn = require('child_process').spawn;
var args = [
'-',
'-resize',
'50%',
'./blank.png',
'-composite',
'-'
];
var convert = spawn('convert', args);
現在的問題是我需要分離出blank.png圖像並對其應用轉換。 Image Magick沒有問題。 http://www.imagemagick.org/Usage/basics/#parenthesis
因此,開始使它看起來像這樣。
convert image.jpg \
\(blank.png -resize 50% \) -gravity center -composite -composite output.jpg
我不能用nodejs中的spawn args得到這個結果。 我試過類似的東西。
var args = [
'-',
'\(',
'./blank.png',
'-resize',
'50%',
' \),
'-composite',
'-'
];
var args = [
'-',
'(',
'./blank.png',
'-resize',
'50%',
'),
'-composite',
'-'
];
var args = [
'-',
'\(./blank.png -resize 50% \)',
'-composite',
'-'
];
沒有什麼似乎工作。他們都將錯誤的參數傳遞給函數。我只是得到轉換錯誤。有任何想法嗎?
固定
var args = [
'-',
'-resize',
'100%',
'(',
'./blank.png',
'-resize',
'50%',
')',
'-composite',
'-'
];
我不*說* node-ish,但反斜槓是爲了保護括號不被shell解釋 - 是否有可能在這裏沒有涉及的shell,並且你不需要它們? – 2015-02-10 13:27:24
問題是我需要他們告訴圖像magick將轉換僅應用於blank.png圖像,而不是從流中傳入的圖像。 – 2015-02-10 13:36:00
爲什麼這會阻止你刪除反斜槓? – 2015-02-10 13:52:21