Image Magick保留透明度

7
我正在尝试使用Image Magick从多个小的png创建一个新的大png,但是小图像没有保留它们的透明度。我正在创建一个6000x6000的图像,并在特定位置放置较小的png,并且其中一些被旋转,这一切都很好地运作。问题是当一些小图像重叠时,它们的透明度没有保留。这是我的意思举例说明。我尝试了几个-channel选项和-alpha on,但似乎没有什么作用。我错过了什么吗?
这是我测试使用的命令:
convert -size 6000x6000 xc:none ^
    ( Rectangle_01.png -repage +200+200 ) ^
    ( Rectangle_01.png -repage +651+200 -rotate 45 ) ^
    ( Rectangle_01.png -repage +1102+200 -rotate -45 ) -flatten -alpha on test.png
2个回答

23

你尝试过:

-background none

none是一种完全透明的内置颜色名称。

当我尝试使用montage命令解决类似问题时,我发现了这个问题,该命令无法保留透明度。设置透明背景确实解决了我的问题。ImageMagick中的默认背景颜色为白色。


我放弃了使用图像(png)的方法,改用svg重建了我的应用程序。虽然这是一项艰巨的工作,但现在我的应用程序具有更多的功能和灵活性。 - Trevor Orr

5

终于搞定了,我最初在脚本中这样写:-flatten -fuzz 10% -transparent white test.png,但它没有起作用。这个可以工作:-fuzz 10% -transparent white -flatten test.png。我必须把flatten命令放在最后,没想到会有影响,但显然确实如此。 - Trevor Orr
是的,确实如此,因为“-flatten”命令基本上“完成”了您刚刚执行的所有操作,将它们全部放在一起 :) 问候 - almanegra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接