欢迎来到天天文库
浏览记录
ID:21754101
大小:168.00 KB
页数:12页
时间:2018-10-24
《gdi+中gif图片的显示》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、GDI+中GIF图片的显示作者:獾猪哥哥下载源代码某位网友曾经问过我GDI+中Gif图像显示的问题,一直没时间给你写,在此致歉。我把这篇文章送给他。一、GIF格式介绍1.概述 GIF(GraphicsInterchangeFormat,图形交换格式)文件是由CompuServe公司开发的图形文件格式,版权所有,任何商业目的使用均须CompuServe公司授权。 GIF图象是基于颜色列表的(存储的数据是该点的颜色对应于颜色列表的索引值),最多只支持8位(256色)。GIF文件内部分成许多存储块,用来存储多幅图
2、象或者是决定图象表现行为的控制块,用以实现动画和交互式应用。GIF文件还通过LZW压缩算法压缩图象数据来减少图象尺寸。2.GIF文件存储结构 GIF文件内部是按块划分的,包括控制块(ControlBlock)和数据块(DataSub-blocks)两种。控制块是控制数据块行为的,根据不同的控制块包含一些不同的控制参数;数据块只包含一些8-bit的字符流,由它前面的控制块来决定它的功能,每个数据块大小从0到255个字节,数据块的第一个字节指出这个数据块大小(字节数),计算数据块的大小时不包括这个字节,所以一个空
3、的数据块有一个字节,那就是数据块的大小0x00。下表是一个数据块的结构:BYTE76543210BIT0块大小BlockSize-块大小,不包括这个这个字节(不计算块大小自身)1DataValues-块数据,8-bit的字符串2...254255 一个GIF文件的结构可分为文件头(FileHeader)、GIF数据流(GIFDataStream)和文件终结器(Trailer)三个部分。文件头包含GIF文件署名(Signature)和版本号(Version);GIF数据流由控制标识符、图象块(ImageBloc
4、k)和其他的一些扩展块组成;文件终结器只有一个值为0x3B的字符('';'')表示文件结束。下表显示了一个GIF文件的组成结构:GIF署名文件头版本号逻辑屏幕标识符GIF数据流全局颜色列表...图象标识符图象块 图象局部颜色列表图 基于颜色列表的图象数据...GIF结尾文件结尾 下面就具体介绍各个部分:文件头部分(Header)GIF署名(Signature)和版本号(Version)GIF署名用来确认一个文件
5、是否是GIF格式的文件,这一部分由三个字符组成:"GIF";文件版本号也是由三个字节组成,可以为"87a"或"89a".具体描述见下表:BYTE76543210BIT1''G''GIF文件标识2''I''3''F''4''8''GIF文件版本号:87a-1987年5月 89a-1989年7月5''7''或''9''6''a''GIF数据流部分(GIFDataStream)逻辑屏幕标识符(LogicalScreenDescriptor)这一部分由7个字节组成,定义了GIF图象的大小(LogicalSc
6、reenWidth&Height)、颜色深度(ColorBits)、背景色(BlackgroundColorIndex)以及有无全局颜色列表(GlobalColorTable)和颜色列表的索引数(IndexCount),具体描述见下表:BYTE76543210BIT1逻辑屏幕宽度像素数,定义GIF图象的宽度23逻辑屏幕高度像素数,定义GIF图象的高度45mcrspixel具体描述见下...6背景色背景颜色(在全局颜色列表中的索引,如果没有全局颜色列表,该值没有意义)7像素宽高比像素宽高比(PixelAspect
7、Radio)m-全局颜色列表标志(GlobalColorTableFlag),当置位时表示有全局颜色列表,pixel值有意义.cr-颜色深度(ColorResoluTion),cr+1确定图象的颜色深度.s-分类标志(SortFlag),如果置位表示全局颜色列表分类排列.pixel-全局颜色列表大小,pixel+1确定颜色列表的索引数(2的pixel+1次方).全局颜色列表(GlobalColorTable)全局颜色列表必须紧跟在逻辑屏幕标识符后面,每个颜色列表索引条目由三个字节组成,按R、G、B的顺序排列。B
8、YTE76543210BIT1索引1的红色值2索引1的绿色值3索引1的蓝色值4索引2的红色值5索引2的绿色值6索引2的蓝色值7... 图象标识符(ImageDescriptor)~~~~~~~~~~~~~~~~~~~~~~~~~一个GIF文件内可以包含多幅图象,一幅图象结束之后紧接着下是一幅图象的标识符,图象标识符以0x2C('',''
此文档下载收益归作者所有