如何启用Alpha通道?

时间:2018-04-17 23:04:12

标签: graphicsmagick

我的英语不好。我道歉,让我们直接举一个简单的例子。

#include <Magick++.h>

int main(int argc, char *argv[])
{
    Magick::InitializeMagick(NULL);
    Magick::Image *img = new Magick::Image();
    img->magick("RGBA");
    img->size(Magick::Geometry(150, 150));
    img->read("xc:transparent");
    img->fillColor(Magick::Color(0x00,0x00,0x00,0xFF));
    img->lineWidth(10);
    img->strokeColor(Magick::Color(0xFF, 0xAF, 0x00, 0x00));
    img->draw(Magick::DrawableCircle(75,75,75,10));
    img->write("foo.png");
    delete img;
    return 0;
}

在这里,我尝试绘制一个橙色圆圈并将结果写入.png文件。如果您使用GIMP或其他图像编辑器打开.png,您可能会注意到圆圈的边框很难看,尤其是当您将其作为其他彩色图像上的图层打开时。边界逐渐不透明。它在透明度的位置使用黑色。显然它使用的是面具而不是alpha通道。我在这里错过了什么?我应该用什么方法打电话?谢谢。 :)

0 个答案:

没有答案