2016-12-05 38 views
5

我有以下命令:添加如果條件圖形魔術命令

gm('input.jpg') 
.crop(500, 500, 10, 10) 
.write('output.jpg', function (err) { 
    if (err) { 
     console.log(err) 
    } else { 

     console.log('Success') 
    } 
}) 

我想一個條件添加到它,而無需編寫2個不同的命令,所以它會是這樣的:

var overlay = true 
gm('input.jpg') 
.crop(500, 500, 10, 10) 
if(overlay == true){ 
.draw('image Over 0,0 750,750 overlay.jpg') 
} 
.write('output.jpg', function (err) { 
    if (err) { 
     console.log(err) 
    } else { 

     console.log('Success') 
    } 
}) 

我知道上面的代碼將無法運行,我正在尋找的東西,將工作的建議,而不必2個不同的GM命令

+0

一個想法可能是,如果沒有覆蓋,有一個透明的PNG躺在身邊,把那名作爲覆蓋圖,所以你總是在做覆蓋,但實際上可能沒有任何東西。或者,也許我應該去喝另一杯酒,重新考慮一下...... ;-) –

回答

4

除非有一些引人注目的MAG iCal中關於通用汽車庫的工作原理在這裏,你可以打破gm().crop().write()鏈成小塊,點菜

var overlay = true; 
// ... 
var g = gm('input.jpg').crop(500, 500, 10, 10); 
if (overlay) { 
    g = g.draw('image Over 0,0 750,750 overlay.jpg'); 
} 
g.write('output.jpg', function (err) { 
    if (err) throw err; 
    console.log('Success'); 
});