2016-12-05 2 views
5

Я имею следующую команду:Добавление если условие Graphic Волшебное Команда

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

Если нет что-то эффектно МАГ ческий о том, как библиотека GM работает здесь, вы можете разорвать 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'); 
}); 
Смежные вопросы