GIF文件格式详细说明

GIF文件格式一、简介GIF(GraphicsInterchangeFormat)是CompuServe公司开发的图像文件存储格式,1987年开发的GIF文件格式版本号是GIF87a,1989年进行了扩充,扩充后的版本号定义为GIF89a。GFI图像文件以数据块(block)为单位来存储图像的相关信息。一个GIF文件由表示图形/图像的数据块、数据子块以及显示图形/图像的控制信息块组成,称为GIF数据流(DataStream)。数据流中的所有控制信息块和数据块都必须在文件头(Header)和文件结束块(Trailer)之间。GIF文件格式采用了LZW(Lempel-ZivWalch)压缩算法来存储图像数据,定义了允许用户为图像设置背景的透明(transparency)属性。此外,GIF文件格式可在一个文件中存放多幅彩色图形/图像。如果在GIF文件中存放有多幅图,它们可以像演幻灯片那样显示或者像动画那样演示。二、文件结构GIF文件结构的典型结构如图6-01所示。为下文说明方便,在构件左边加了编号。1HeaderGIF文件头2LogicalScreenDescriptor逻辑屏幕描述块3GlobalColorTable全局彩色表…扩展模块(任选)…4ImageDescriptor图形描述块5LocalColorTable局部彩色表(可重复n次)可6TableBasedImageData表式压缩图像数据重7GraphicControlExtension图像控制扩展块复8PlainTextExtension无格式文本扩展块n9CommentExtension注释扩展块个10ApplicatonExtension应用程序扩展块…扩展模块(任选)…11GIFTrailerGIF文件结束块图6-01GIF文件结构数据块可分成3类:控制块(ControlBlock),图形描绘块(Graphic-RenderingBlock)和专用块(SpecialPurposeBlock)。(1)控制块:控制块包含有用来控制数据流(DataStream)或者设置硬件参数的信息,其成员包括:GIF文件头(Header)逻辑屏幕描述块(LogicalScreenDescriptor)图形控制扩展块(GraphicControlExtension)文件结束块(Trailer)(2)图形描绘块:包含有用来描绘在显示设备上显示图形的信息和数据,其成员包括:图像描述块(ImageDescriptor)无格式文本扩展块(PlainTextExtension)(3)特殊用途数据块;包含有与图像处理无关的信息,其成员包括:注释扩展块(CommentExtension)应用扩展块(ApplicationExtension)除了在控制块中的逻辑屏幕描述块(LogicalScreenDescriptor)和全局彩色表(GlobalColorTable)的作用范围是整个数据流(DataStream)之外,所有其他控制块仅控制跟在它们后面的图形描绘块。三、构件详解1.GIF文件头文件头描述块(Header)定义GIF数据流(GIFDataStream),它的结构如图6-02所示。文件头描述块(Header)由GIF标记域(Signature)和版本号(Version)域组成,是一个由6个固定字节组成的数据块,它们用来说明使用的文件格式是GIF格式及当前所用的版本号。GIF标记域(Signature)存放的是“GIF”,版本号域存放的是1987年5月发布的“87a”或者1989年7月发布的“89a”,或者更加新的版本号。76543210字节号域的名称数据类型0Signature1GIF标记3Bytes23Version4版本号3Bytes5图6-02标记/版本数据块的结构2.逻辑屏幕描述块逻辑屏幕描述块(LogicalScreenDescriptor)包含定义图像显示区域的参数,包括背景颜色信息。这个数据块中的坐标相对于虚拟屏幕的左上角,不一定是指显示屏的绝对坐标,这就意味可以参照窗口软件环境下的窗口坐标或者打印机坐标来设计图像显示程序。逻辑屏幕描述块的结构如图6-03所示:76543210字节号域的名称类型LogicalScreenWidth0逻辑屏幕宽度Unsigned1(以像素为定单位)LogicalScreenHeight2逻辑屏幕高度Unsigned3(以像素为定单位)GCRSSize4包装域见图6-04BackgroundColorIndex5背景颜色索引BytePixelAspectRatio6像素宽高比Byte图6-03屏幕描述块的结构逻辑描述块包含7个字节。字节0和字节1用来说明逻辑显示屏的宽度,字节3和字节4用来说明逻辑显示屏的高度,字节4用来描述彩色表的属性,字节5用来指定背景颜色索引,字节6用来计算像素的宽高比。现作如下说明:(1)屏幕描述块中的第5个字节称为包装域(PackedFields),它的位结构如图6-04所示,它由4个子域组成:①全局彩色表标志(GlobalColorTableFlag)域G用来说明是否有全局彩色表存在。如果G=1,表示有一个全局彩色表(GlobalColorTable)将紧跟在这个逻辑屏幕描述块...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?