编辑“︁
GIF
”︁(章节)
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
== 文件结构 == 一个GIF文件的结构可分为 * 文件头(File Header) ** GIF 文件署名(Signature) ** 版本号(Version) * GIF 数据流(GIF Data Stream) ** 控制标识符 ** 图象块(Image Block) ** 其他的一些扩展块 * 文件终结器(Trailer) 下表显示了一个 GIF 文件的组成结构: [[File:./figure/gif.png]] 中间的那个大块可以被重复任意次 === 文件头 === GIF 署名(Signature)和版本号(Version)。GIF 署名用来确认一个文件是否是 GIF 格式的文件,这一部分由三个字符组成:<code>GIF</code>;文件版本号也是由三个字节组成,可以为 <code>87a</code> 或 <code>89a</code>。 <span id="逻辑屏幕标识符logical-screen-descriptor"></span> === 逻辑屏幕标识符(Logical Screen Descriptor) === Logical Screen Descriptor(逻辑屏幕描述符)紧跟在 header 后面。这个块告诉 decoder(解码器)图片需要占用的空间。它的大小固定为 7 个字节,以 canvas width(画布宽度)和 canvas height(画布高度)开始。 <span id="全局颜色列表global-color-table"></span> === 全局颜色列表(Global Color Table) === GIF格式可以拥有global color table,或用于针对每个子图片集,提供local color table。每个color table由一个RGB(就像通常我们见到的(255,0,0)红色 那种)列表组成。 <span id="图像标识符image-descriptor"></span> === 图像标识符(Image Descriptor) === 一个 GIF 文件一般包含多个图片。之前的图片渲染模式一般是将多个图片绘制到一个大的(virtual canvas)虚拟画布上,而现在一般将这些图片集用于实现动画。 每个 image 都以一个 image descriptor block(图像描述块)作为开头,这个块固定为 10 字节。 [[File:./figure/imagesdescription.png]] <span id="图像数据image-data"></span> === 图像数据(Image Data) === 终于到了图片数据实际存储的地方。Image Data是由一系列的输出编码(output codes)构成,它们告诉decoder(解码器)需要绘制在画布上的每个颜色信息。这些编码以字节码的形式组织在这个块中。 <span id="文件终结器trailer"></span> === 文件终结器(Trailer) === 该块为一个单字段块,用来指示该数据流的结束。取固定值0x3b. 更多参见 [http://www.jianshu.com/p/df52f1511cf8 gif 格式图片详细解析]
摘要:
请注意,所有对gamedev的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Gamedev:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息