如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
GIF标准及其解码GIF(GraphicsInterchangeFormat)是CompuServe公司开发的图像文件存储格式,1987年开发的GIF文件格式版本号是GIF87a,1989年进行了扩充,扩充后的版本号定义为GIF89a。概述:GIF文件由文件头,描述块,彩色表,数据块,扩展块和结束符构成,GIF87a和GIF89a的区别在于:后者较前者增加了扩展块,从功能上看即提供了对透明色和多帧动画的支持。格式详解:约定:i:以下图示括号中出现的“B”代表字节(Byte),而“b”则代表字节中的位(bit)。ii:两个字节以上数的存放顺序为低字节在前。iii:文件格式中出现的大小尺寸等均为unsigned数据类型,单位为字节或像素。iv:各描述结构块以在文件中出现的先后顺序而排列。v:符号约定:*表示名词解释,#表示效果演示,【】表示参考文献。1,Header结构:说明:Signature为“GIF”3个字符;Version为“87a”或“89a”3个字符。2,LogicalScreenDescriptor结构:说明:LogicalScreenWidth和LogicalScreenDepth均以像素为单位。Packetfields中最高位为全局颜色表标志,即为1时表明LogicalScreenDescriptor后面跟的是全局颜色表。ColorResolution的值加1代表颜色表中每种基色用多少位表示,如为“111”时表示每种基色用8位表示,则颜色表中每项为3Byte。由于该值有时可为0,一般在解码程序中,该3位不作处理,而直接由GlobalColorTableSize算出颜色表大小。SortFlag表示重要颜色排序标志,标志为1时,表示颜色表中重要的颜色排在前面,有利于颜色数较少的解码器选择最好的颜色。一般该标志为0,不作处理。GlobalColorTable的值加1作为2的幂,算得的数即为颜色表的项数,实际上颜色表每项由RGB三基色构成,每种基色占一个字节,则颜色表占字节数为项数的3倍。由于最大值为“111”,故颜色表的项数最多为256项,即256种颜色,8位每基色则颜色表大小为768Bytes。Note:“256种颜色”是指这256种颜色是编码器在由24位原始位图数据生成GIF文件时从262K色中选取的,生成的图像一样可以很鲜艳#。BackgroundColorIndex表示背景颜色索引值*。可以这样理解:在指定大小显示区,GIF图像的大小可能小于显示区域大小,显示区中剩余的区域则一律用背景颜色索引值在全局颜色表中对应的颜色填充。在实际解码过程中,在显示图像之前可将显示区域全部用该颜色填充。*颜色索引值:颜色索引值是一个在颜色表中的序号值,即该序号对应的颜色值。PixelAspectRatio表示像素宽高比,一般为0,不作处理,直接以LogicalScreen宽和高作处理。如该项不为0,则参照GIF89a标准【1】计算。3,GlobalColorTable结构:颜色表每项由3原色RGB表示,依次排放,大小由前面的LogicalScreenDescriptor决定。一般GIF图像用256色,每种基色用8位,则有768个字节大小的颜色表。4,ImageDescriptor结构:ImageSeparator固定为0x2C(ASCII码中代表“,”)。ImageLeftposition+ImageTopposition表示ImageDescriptor后面跟的一幅图像(块)起始点相对(逻辑)屏幕原点(令其为最左上角点)的位移。ImageWidth+ImageDepth表示ImageDescriptor后面跟的一幅图像(块)的实际宽和高,不应该超过LogicalScreenWidth和LogicalScreenDepth的大小。以上四项信息在显示多帧图像(动画)时尤其要注意,因为每帧更新的区域有可能都不一样#。LocalColorTableFlag局部颜色表标志,为1时表示ImageDescriptor后面跟的是下幅图像所用的颜色表,此时GlobalColorTable(全局颜色表)无效。Note:对于GIF中的一幅图像,可能只有全局颜色表(如静态图像,GIF87a图像和大部分多帧动画),可能没有全局颜色表而每幅图像有各自的局部颜色表(GIF电影片断动画较常见),可能两种颜色表都有(即为上面考虑的情况),也可能两种颜色表都没有(此种情况要用系统颜色表,本文不作考虑)。InterlaceFlag交错显示标志,为1时表示图像数据是以隔行方式存放的。最初GIF标准设置此标志的目的是考虑到通信设备间传输速度不理想情况下,用这种方式存放和显示图像,就可以在图像显