如何改善生成的GIF的文件大小?

时间:2011-12-24 21:51:23

标签: java android encoding gif

我正在尝试将GIF生成功能添加到我的应用中,以便用户可以与他们的朋友分享他们的动画创作等。

在我的应用中,用户可以选择静态背景图像以将项目下拉到,因此唯一可移动的部分是项目。

我有基于working fine using this encoder的GIF代this code,成品看起来就像我想要的那样,但如果用户选择了背景图片,那么文件大小就会超过我的目标大小为3MB。 Here is an example.

我还假设任何平板电脑用户都会获得大量文件,因为图像大小是它生成的视图的大小。所有的GIFS大约是12-20帧,所以我猜测问题是颜色的数量,或者背景图像的颜色由于某种原因在帧与帧之间略有变化。


那么有什么方法可以让文件大小始终低于3MB,同时保持FPS和尺寸? (改变GIF生成代码/更改背景图像的颜色/等)或者如果没有,那么将它降到3MB以下并仍然吸引用户的最佳方法是什么?

提前致谢! (:

修改 看起来问题是我正在使用的类没有将每个帧优化为最后一个的差异或增量。有什么建议? (:

1 个答案:

答案 0 :(得分:1)

确保只有第一帧包含完整图像。后续帧应仅包含与前一帧的差异。这应该使框架的大部分透明,GIF可以更有效地压缩。 执行以下测试:如果您将帧速率加倍 - 文件大小是否加倍?如果是这样,您目前不会仅对增量进行编码。

另外要了解GIF不适用于照片,会产生大量文件或图像质量非常差。

修改:因此您可能需要改进图像生成代码,以便仅将图像的已更改部分提供给编码器!