2

MagickWand API を使用して PNG から JPG に変換する場合、背景を透明ピクセルの指定色に設定するにはどうすればよいですか? 私はまだ望んでいない白い背景しか得られません。

同様の質問があることは知っていますが、答えがありません= MagickWandで透明ピクセルの背景色を設定する方法は?

4

1 に答える 1

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);
}
于 2010-11-30T21:34:18.003 に答える