ImageMagick和透明背景的动画gif

37

我有一组 .png 文件作为动画(100个文件)。源 .png 文件中的背景是透明的。我想将它们转换为单个动态GIF图片。我尝试了以下命令:

convert -delay 0 -loop 0 -alpha set *.png ani.gif

但结果如下所示(绿色是HTML页面背景):

在此输入图片描述

我应该如何从每个后续帧中删除之前的帧?

3个回答

61
我找到了 "-dispose previous"。
更新:
好的, "convert -delay 0 -loop 0 -alpha set -dispose previous *.png ani.gif"。

1
如果您仍然面临透明度问题,您应该设置 -dispose background。更多信息:https://superuser.com/questions/555490/transparency-issues-when-converting-pngs-to-gif - Olivier D'Ancona

22

10
使用“-dispose previous”几乎有效,但第一张图像永远不会消失。我发现使用“-dispose 2”可以解决这个问题。 - Steven C. Howell

-1
有一个附加问题 - 我尝试了几乎所有的组合,但都失败了。 如何将上面示例中的动态GIF的透明颜色更改为绿色? 我有一系列透明的PNG图像,想要将它们转换为适用于浅色和深色背景用户界面的动态GIF。因此,我想创建两个GIF,一个带有灰色透明度,另一个带有黑色透明度。

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