GIF文件格式详解
13页1、GIF文件格式详解6.2.1 简介GIF(Graphics Interchange Format)是CompuServe公司开发的图像文件存储格式,1987年开发的GIF文件格式版本号是GIF87a,1989年进行了扩充,扩充后的版本号定义为GIF89a。 GIF图像文件以数据块(block)为单位来存储图像的相关信息。一个GIF文件由表示图形/图像的数据块、数据子块以及显示图形/图像的控制信息块组成,称为GIF数据流(Data Stream)。数据流中的所有控制信息块和数据块都必须在文件头(Header)和文件结束块(Trailer)之间。 GIF文件格式采用了LZW(Lempel-Ziv Walch)压缩算法来存储图像数据,定义了允许用户为图像设置背景的透明(transparency)属性。此外,GIF文件格式可在一个文件中存放多幅彩色图形/图像。如果在GIF文件中存放有多幅图,它们可以像演幻灯片那样显示或者像动画那样演示。6.2.2. 文件结构 GIF文件结构的典型结构如图6-01所示。为下文说明方便,在构件左边加了编号。 图6-01 GIF文件结构 数据块可分成3类:控制块(C
2、ontrol Block),图形描绘块(Graphic-Rendering Block)和专用块(Special Purpose Block)。 (1) 控制块:控制块包含有用来控制数据流(Data Stream)或者设置硬件参数的信息,其成员包括: GIF文件头(Header) 逻辑屏幕描述块(Logical Screen Descriptor) 图形控制扩展块(Graphic Control Extension) 文件结束块(Trailer)(2) 图形描绘块:包含有用来描绘在显示设备上显示图形的信息和数据,其成员包括: 图像描述块(Image Descriptor) 无格式文本扩展块(Plain Text Extension)全局调色板、局部调色板、图像压缩数据和图像说明扩充块。 (3) 特殊用途数据块;包含有与图像处理无关的信息,其成员包括: 注释扩展块(Comment Extension) 应用扩展块(Application Extension) 除了在控制块中的逻辑屏幕描述块(Logical Screen Descriptor)和全局彩色表(Global Color Tab
3、le)的作用范围是整个数据流(Data Stream)之外, 所有其他控制块仅跟在它们后面的图形描绘块。6.2.3 构件详解1. GIF文件头 文件头描述块(Header)定义GIF数据流(GIF Data Stream),它的结构如图6-02所示。文件头描述块(Header)由GIF标记域(Signature)和版本号(Version)域组成,是一个由6个固定字节组成的数据块,它们用来说明使用的文件格式是GIF格式及当前所用的版本号。GIF标记域(Signature)存放的是“GIF”,版本号域存放的是1987年5月发布的“87a”或者1989年7月发布的“89a”,或者更加新的版本号。 图6-02 标记/版本数据块的结构typedef struct gifheader BYTE bySignature3; BYTE byVersion3; GIFHEADER;2. 逻辑屏幕描述块逻辑屏幕描述块(Logical Screen Descriptor)包含定义图像显示区域的参数,包括背景颜色信息。这个数据块中的坐标相对于虚拟屏幕的左上角,不一定是指显示屏的绝对坐标,这就意味可以参照窗口软
4、件环境下的窗口坐标或者打印机坐标来设计图像显示程序。逻辑屏幕描述块的结构如图6-03所示: 图6-03 屏幕描述块的结构typedef struct gifscrdesc WORD wWidth; WORD wDepth; struct globalflag BYTE PalBits : 3; BYTE SortFlag : 1; BYTE ColorRes : 3; BYTE GlobalPal : 1; GlobalFlag; BYTE byBackground; BYTE byAspect; GIFSCRDESC; 逻辑描述块包含7个字节。字节0和字节1用来说明逻辑显示屏的宽度,字节2和字节3用来说明逻辑显示屏的高度,字节4用来描述彩色表的属性,字节5用来指定背景颜色索引,字节6用来计算像素的宽高比。现作如下说明: (1) 屏幕描述块中的第5个字节称为包装域(Packed Fields),它的位结构如图6-04所示,它由4个子域组成: 全局彩色表标志(Global Color Table Flag )域G用来说明是否有全局彩色表存在。如果G1,表示有一个全局彩色表(Global
《GIF文件格式详解》由会员卷****络分享,可在线阅读,更多相关《GIF文件格式详解》请在金锄头文库上搜索。
linux共享内存专题编程笔记
GIF图形文件格式文档
附件4:拟晋升XXXX专业技术职务任职资格评审表
linux进程间通讯笔记
linux socket应用编程笔记3-
STL所有算法(70个)
①【简历模板】杨1
IO接口及常用IO设备
①【简历模板】韦有3
linux socket应用编程笔记1
附件6:高级工程师专业技术职务评审申报论文声明承诺书
linux socket应用编程笔记2
户籍迁入申请书 模板
①【简历模板】蛋炒饭2
附件3:专业技术职务任职资格申报表
GIF文件格式详解
wav文件格式分析详解
GIF文件结构与解码器
STL常用算法
linux管道专题编程笔记docx
2022-11-28 14页
2024-01-28 9页
2023-11-14 9页
2022-08-07 4页
2024-02-27 3页
2022-11-13 9页
2023-10-08 4页
2023-07-04 7页
2023-02-06 3页
2023-02-08 21页