magickWand - > PNG到JPG

时间:2010-11-30 14:07:32

标签: imagemagick magickwand

使用MagickWand API从PNG转换为JPG时,如何将背景设置为透明像素的指定颜色?我仍然只得到我不想要的白色背景。

我知道有类似的问题,但没有回答= How to set background color for transparent pixels in MagickWand?

1 个答案:

答案 0 :(得分:2)

我找到了......我错过了MagickMergeImageLayers正在回归新魔杖!所以代码看起来像:

if(current_wand && IsMagickWand(current_wand)){
    status=MagickReadImage(current_wand, "test.png");
    if (status == MagickFalse) {
        ThrowWandException(current_wand);
    }
    PixelWand *color = NewPixelWand();
    PixelSetColor(color, "red");
    MagickSetImageBackgroundColor(current_wand, color);
    MagickWand *newwand = MagickMergeImageLayers(current_wand, FlattenLayer);
    MagickWriteImage(newwand, "test.jpg");
    DestroyMagickWand(newwand);
}