具有透明度输出的 GIF 与 GIMP 中的预期不同

平面设计 瘸子 透明度 动画片 gif
2022-02-07 21:44:59

我一直在尝试使用 GIMP 中的一系列 PNG 创建 GIF

序列中的示例 PNG 显示了我希望在 GIF 中显示的正确透明度,正确的透明度

但是当我在 GIMP 中处理 PNG 序列并创建 GIF 图像时,我得到以下结果:

gif图像中途截屏,透明度很奇怪

我在这里做错了什么?

我已经设置了逐帧创建动画的设置,另外确保选择了 RGBA 设置。

谁能告诉我这个问题的解决方案?

谢谢,克里斯

1个回答

您面临 GIF 颜色规范的限制。除了 PNG GIF 不支持半透明颜色。

然而,原始PNG由半透明颜色组成,在棋盘模式下查看原始PNG时可以看到:

在此处输入图像描述

在我们将这个带有 alpha 通道的 RGB 文件导出为 GIF 之后,我们会将颜色减少到 256 或更少,但我们将在生成的 GIF 中只表示一种单一的透明颜色(白色):

在此处输入图像描述

因此,我们必须先通过抖动图像来模拟半透明,然后才能将其导出为 GIF。这是通过工具Image - Mode - Indexed...完成的

在此处输入图像描述

选择使用任何方法启用透明度抖动(此处为 Floyd-Steinberg(减少颜色渗色))。之后我们可以看到抖动的图像:

在此处输入图像描述

然后我们可以将其导出为 GIF:

在此处输入图像描述

为了更深入地了解 GIF 动画的透明度处理,强烈推荐以下教程: