使用gm模块运行cli命令

时间:2017-10-25 11:06:22

标签: node.js imagemagick gm

我想执行以下任务:

// 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 ?

  });

问题从第一个括号开始,我必须首先否定一个蒙版图像然后才能编写它。我不确定如果我首先否定面具和回调组合中的内容,那么它是否有效..但更大的问题是,如何将信息作为文本返回??

1 个答案:

答案 0 :(得分:0)

我不知道这是否有助于转换为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!上添加后缀。