【问题标题】:Adding if condition to Graphic Magic Command将 if 条件添加到图形魔术命令
【发布时间】:2016-12-05 22:24:06
【问题描述】:

我有以下命令:

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 命令

【问题讨论】:

  • 一个想法可能是,如果没有覆盖,有一个透明的 PNG 放在周围,并将其名称作为覆盖,所以你总是在做覆盖,但实际上可能没有任何东西.或者也许我应该去再喝一杯酒,重新考虑一下……;-)

标签: javascript node.js graphicsmagick


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2020-01-17
    • 1970-01-01
    • 2019-08-08
    相关资源
    最近更新 更多