2017-06-01 126 views
0

我有一个方法称为single_color图像。它改变图像的颜色。它正在处理我以前的图像magick版本,但升级后我的版本,它不工作。Magickwand C更改图像颜色

ImageMagick的版本

版本:ImageMagick的7.0.5-9 Q16 x86_64的2017年6月1日

要做到这一点我做到这一点。

  • 将所有颜色更改为除透明以外的输出颜色。

这是我的代码。

#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"); 
} 
+0

1)您的“代码”中没有代码。这是所有的声明和语法错误。 2)C不支持_methods_。 3)学习[问]。 – Olaf

+0

我刚刚发布了需要的方法。让我更新它 – Rahul

+0

现在我认为代码工作。我可否了解@Olaf投票背后的原因 – Rahul

回答

0

这是ImageMagick最新版本中的一个错误。我在他们的论坛上发布了这个。它可能很快就会被修复。

Check this.