ImageMagick 合成两个图像并用原始数据填充透明数据

ImageMagick composite two images and fill transparent data with original data

我有两张 256X256 的图片,一张是全紫色背景,另一张是透明的。

我想将第二张图片复制到第一张图片中,这样第二张图片的透明数据就会被第一张图片的数据填充,结果是:

我这样做的尝试以整个第一张图片被第二张图片取代而告终。我使用了 OverCompositeOp 运算符:
MagickCompositeImage(wand1, wand2, OverCompositeOp, MagickFalse, 0, 0);

您可能交换了两张图片。您需要将透明的覆盖在不透明的之上。这假设它们的大小相同。在 ImageMagick 7 命令行中,这工作正常。

magick purple.png blue_transparent.png -compose over -composite result.png

对于 ImageMagick 6,将 magick 替换为 convert