【问题标题】:running cli commands with gm module使用 gm 模块运行 cli 命令
【发布时间】:2018-01-19 20:54:47
【问题描述】:

我要运行以下任务:

// getting the average color of the mask area
convert demp.png \( demo_mask.png -negate \) -compose copyopacity 
-composite -scale 1x1! -format "%[pixel:u.p{0,0}]" info:

通过 nodejs gm 模块使用 imagemagick 子类。我找不到任何关于 gm 模块的好的文档/教程,所以我有点陷入了一项重要任务的中间。

  gm("demo_mask.png").negative(function(err, maskImg){
    if(err) return Promise.reject(err);
    gm("demo.png").compose("CopyOpacity")
      .command("composite")
      .scale(1,1)
      .command('format').in('%[pixel:u.p{0,0}]')
       // HOW TO GO ON HERE ? HOW TO RETURN THE INFO NOW ?

  });

问题从第一个大括号开始,我必须先否定一个蒙版图像,然后才能合成它。我不确定如果我首先否定掩码并在回调中将其输入到合成中是否有效。但更大的问题是,我怎样才能将信息作为文本返回...?

【问题讨论】:

  • 你需要在-scale 1x1之后加上-alpha off!。所以命令应该是convert demp.png \( demo_mask.png -negate \) -compose copyopacity -composite -scale 1x1! -alpha off -format "%[pixel:u.p{0,0}]" info:。抱歉,我无法提供 gm 代码。
  • 好的,还是非常感谢!

标签: node.js imagemagick gm


【解决方案1】:

我不知道这是否有助于转换为 gm 代码。但你也可以这样做:

convert logo: -transparent white -alpha extract mask.png

convert logo: mask.png -compose copyopacity -composite -scale 1x1! -alpha off txt:

# ImageMagick pixel enumeration: 1,1,65535,srgb
0,0: (25752,20939,25349)  #645163  srgb(100,81,99)


然后解析 srgb(100,81,99) 的输出

请注意,拥有 ! -scale 1x1! 上的后缀,如果您的图像不是方形的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-27
    • 2012-11-20
    • 2023-03-21
    • 1970-01-01
    • 2016-12-10
    • 2019-01-03
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多