我有一个称为single_color的图像方法。它改变图像的颜色。它可以在我以前的图像magick版本上使用,但是在升级我的版本后,它无法使用。

ImageMagick版本

版本:ImageMagick 7.0.5-9 Q16 x86_64 2017-06-01

为此,我这样做。


将所有颜色更改为输出颜色(透明除外)。


这是我的代码。

#include <stdio.h>
#include <MagickWand/MagickWand.h>

int main(int argc, char const *argv[]) {

  MagickWand * wand;
  wand  = NewMagickWand();
  MagickReadImage(wand, "input.png");

  PixelWand * PW3, * PW4;

  PW3 = NewPixelWand();
  PW4 = NewPixelWand();

  PixelSetColor(PW3,"transparent");
  PixelSetColor(PW4,"#008080");
  MagickOpaquePaintImage(wand, PW3, PW4, 20.0*65535.0/100.0, MagickTrue);

  MagickWriteImage(wand, "single_color.png");
}

最佳答案

这是ImageMagick的最新版本中的错误。我将此张贴在他们的论坛上。可能很快会修复。

Check this.

08-08 00:13