向图形魔术命令添加 if 条件

Adding if condition to Graphic Magic Command

我有以下命令:

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 命令的可行方法的建议

除非 GM 库在这里的工作方式有惊人的神奇之处,否则您可以将 gm().crop().write() 链分成更小的部分,la

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');
});