将 AVI 文件转换为具有透明背景的 gif 动画

将 AVI 文件转换为具有透明背景的 gif 动画

我有一些 AVI 文件,我想将它们转换为具有透明背景的动态 gif,以便放置在 .net Windows 窗体上。我能够将 AVI 转换为动态 gif,但由于某种原因,动态 gif 的背景是粉红色而不是透明的。有没有简单的方法可以去除生成的动态 gif 文件中的粉红色?我尝试了 ffmpeg,但它也产生了粉红色。我尝试了 ffmpeg -i FINDFILE.avi FINDFILE.gif。它产生了动态 gif,但背景颜色是粉红色。感谢您阅读本文。

答案1

尝试使用 IrfanView 或任何复杂的图像编辑程序编辑调色板。某处应该有一个“透明背景”复选框。

如果您找不到任何可用的工具,您可能需要深入挖掘并编辑二进制文件。http://www.u229.no/stuff/gifformat/解释数据格式:有趣的部分是图形控制扩展,它在打包字段中包含透明颜色索引和透明颜色标志。

注意:每个框架可能都有自己的 GCE。但每个块都以三个字节的签名开头\x21\xf9\x04,因此很容易追踪。

签名后的下一个字节是打包字段;位 0 是透明颜色标志。因此,搜索\x00\x21\xf9\x04,如果下一个字节的值为偶数:加一(在该字节中设置位 0)。

存储文件,并且所有帧上的背景都应该是透明的。

或者...刚刚发现它...看看这个帖子:如何制作 gif 动画的透明背景?

相关内容