如何在GraphicsMagick上保持“-compose”和“-flatten”的透明度

时间:2013-11-30 17:13:50

标签: graphicsmagick

我有一系列具有透明背景的PNG图像,我想将其覆盖到目标PNG图像上,该图像也具有透明背景。为了论证,我们可以说这一系列图像是:

  • 来源图片:img1.png,img2.png,img3.png
  • 目标图片:dest.png。

由于我想一次覆盖所有图像,我将使用convert命令和compose开关,如下所示:

gm convert -compose Atop dest.png img1.png img2.png img3.png -flatten output.png

看起来很简单,但问题是output.png失去了它的透明度,我不知道如何保持它的启用。如果我使用-background开关,我可以设置我想要的任何颜色的透明度,但我不能让它回到透明度。

是的,我随后可以致电:

gm convert -transparency black ouput.png output2.png

但实际图像上的任何黑色也会变得透明。

这里有任何帮助吗?

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,我做了几件事让它发挥作用。

如果将命令更改为:

,您应该得到所需的内容
gm convert xc:transparent -compose Over img1.png img2.png img3.png -mosaic dest.png

您可能希望使用Atop的{​​{1}},具体取决于您在撰写方法中所需的功能。

使用Over代替mosaic并结合flatten参数,可以保留透明胶片并生成带透明胶片的图像。