- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GIF 标准及其解码
GIF(Graphics Interchange Format)是CompuServe 公司开发的图像文件存储格式,1987 年开
发的GIF 文件格式版本号是GIF87a,1989 年进行了扩充,扩充后的版本号定义为GIF89a 。
一, 概述:
GIF 文件由文件头,描述块,彩色表,数据块,扩展块和结束符构成,GIF87a 和GIF89a
的区别在于:后者较前者增加了扩展块,从功能上看即提供了对透明色和多帧动画的支
持。
二, 格式详解:
约定:
i: 以下图示括号中出现的“B”代表字节(Byte) ,而“b ”则代表字节中的位(bit) 。
ii:两个字节以上数的存放顺序为低字节在前。
iii:文件格式中出现的大小尺寸等均为unsigned 数据类型,单位为字节或像素。
iv :各描述结构块以在文件中出现的先后顺序而排列。
v :符号约定:*表示名词解释 ,#表示效果演示 ,【】表示参考文献。
1,Header 结构:
Signature(3B) Version(3B)
说明:Signature 为“GIF ”3 个字符;Version 为“87a”或“89a ”3 个字符。
2 ,Logical Screen Descriptor 结构:
Logical Screen Logical Screen Packet Background Pixel Aspect
Width(2B) Depth(2B) fields(1B) Color Index(1B) Ratio(1B)
Global Color Color Sort Global Color Table
Table Flag(1b) Resolution(3b) Flag(1b) Size(3b)
说明:Logical Screen Width 和Logical Screen Depth 均以像素为单位。
Packet fields 中最高位为全局颜色表标志,即为 1 时表明 Logical Screen
Descriptor 后面跟的是全局颜色表。
Color Resolution 的值加1 代表颜色表中每种基色用多少位表示,如为“111”时
表示每种基色用 8 位表示,则颜色表中每项为 3Byte 。由于该值
有时可为0,一般在解码程序中,该3 位不作处理,而直接由Global
Color Table Size 算出颜色表大小。
Sort Flag 表示重要颜色排序标志,标志为 1 时,表示颜色表中重要的颜色排在
前面,有利于颜色数较少的解码器选择最好的颜色。一般该标志为0,
不作处理。
Global Color Table 的值加1 作为2 的幂,算得的数即为颜色表的项数,实际上
颜色表每项由RGB 三基色构成,每种基色占一个字节,则颜色表占字
节数为项数的3 倍。由于最大值为“111”,故颜色表的项数最多为256
项,即256 种颜色,8 位每基色则颜色表大小为768 Bytes 。
Note :“256 种颜色”是指这256 种颜色是编码器在由24 位原始位图数据生成
GIF 文件时从262K 色中选取的,生成的图像一样可以很鲜艳#。
Background Color Index 表示背景颜色索引值*。可以这样理解:在指定大小显示
区,GIF 图像的大小可能小于显示区域大小,显示区中剩余的区域则
一律用背景颜色索引值在全局颜色表中对应的颜色填充
文档评论(0)