动画GIF可以调色板移位吗?

时间:2018-01-10 14:02:28

标签: optimization gif animated-gif color-palette

旧式计算机图形学有时会生成动画(周期和淡入淡出)而不会将任何内容重新绘制到视频内存中,纯粹由updating the color palette生成。

是否可以在GIF动画中执行此操作?也就是说,通过仅提供单帧(重要)栅格内容来优化(减小文件大小)gif,但在(全局)调色板中每个(延迟)动画帧更新颜色值?

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的。

根据现有标准,每个包含本地调色板的GIF帧必须使用该调色板显示自己的数据,否则本地调色板无用。

其中一个可能的解决方案是定义您自己的GIF Application Extension块(如Netscape所做的;请参阅链接)以存储其他调色板及其时间延迟。显然,这些扩展块应该出现在它们影响数据的帧之后。

这种方法的缺点是除了你的解码器之外没有人会支持调色板循环,除非你的块类型以某种方式成为一种新的事实上的标准。

尽管如此,手工制作的GIF仍然适用于所有其他GIF解码器(即使没有任何调色板循环),因为标准要求他们默默地忽略任何ID未知的GIF应用程序扩展。