网站大量收购独家精品文档,联系QQ:2885784924

位图的基本格式.docx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 位图的基本格式 1位图文件格式的产生及发展 BMP图像文件格式是微软公司为其Windows环境设置的标准图像格式,而且Windows系统软件中还同时内含了一系列支持BMP图像处理的API函数,随着Windows 在世界范围内的不断普及,BMP文件格式无疑也已经成为PC机上的流行图像文件格式。它的主要特点可以概括为:文件结构与PCX文件格式类似,每个文件只能存放一幅图像;图像数据是否采用压缩方式存放,取决于文件的大小与格式,即压缩处理成为图像文件的一个选项,用户可以根据需要进行选择。其中,非压缩格式是BMP图像文件所采用的一种通用格式。但是,如果用户确定将BMP文件格式压缩处理,则Windows设计了两种压缩方式:如果图像为16色模式,则采用RLE4压缩方式,若图像为256色模式,则采用RLE8压缩方式。同时,BMP图像文件格式可以存储单色、16色、256色以及真彩色四种图像数据,其数据的排列顺序与一般文件不同,它以图像的左下角为起点存储图像,而不是以图像的左上角为起点;而且BMP图像文件格式中还存在另外一个与众不同的特点,即其调色板数据所采用的数据结构中,红、绿、蓝三种基色数据的排列顺序也恰好与其它图像文件格式相反。总之,BMP图像文件格式拥有许多适合于Windows环境的新特色,而且随着Windows版本的不断更新,微软公司也在不断改进其BMP图像文件格式,例如:当前BMP图像文件版本中允许采用32位颜色表,而且针对32位Windows 的产生,相应的API函数也在不断地推陈出新,这些无疑都同时促成了BMP文件格式的不断风靡。但由于BMP文件格式只适合于Windows上的应用软件,而对于DOS环境中的各种应用软件则无法提供相应的支持手段,因此这无疑是阻碍BMP文件格式的流通程度超过PCX文件格式的一个重要因素。 2 位图文件的类型 Windows中定义了两种位图文件类型,即一般位图文件格式与设备无关位图文件格式。其中,由于设备无关位图(DIB)文件格式具有更强的灵活性与完整的图像数据、 压缩方式等定义。BMP图像文件的结构可以分为如下三个部分:文件头、调色板数据以及图像数据。其中文件头的长度为固定值54个字节;调色板数据对所有不超过256色的图像模式都需要进行设置,即使是单色图像模式也不例外,但是对于真彩色图像模式, 其对应的BMP文件结构中却不存在相应调色板数据的设置信息;图像数据既可以采用一定的压缩算法进行处理,也可以不必对图像数据进行压缩处理,这不仅与图像文件的大小相关,而且也与对应的图像处理软件是否支持经过压缩处理的BMP图像文件相关。以下将分别介绍BMP图像文件结构中的这三个重要组成部分。特别值得注意的是:BMP 图像文件结构设计得相当简单,这无疑有利于图像文件的处理速度,但是同时也使得 BMP图像文件格式具有一定的局限性,即一个BMP图像文件只能存储一幅图像。 1.3 BMP文件格式的结构定义 BMP图像文件的文件头定义Windows中将BMP图像文件的文件头分成两个数据结构,其中一个数据结构中包含BMP文件的类型、大小和打印格式等信息,称为BITMAPFILEHEADER;另外一个数据结构中则包含BMP文件的尺寸定义等信息,称为 BITMAPINFOHEADER。如果图像文件还需要调色板数据,则将其存放在文件头信息之后。BITMAPFIEHEADER数据结构在Windows.h中的定义为: typedef structure tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize: WORD bfReserved1; WORD bfReserved2: DWORD bfOffBits: }BITMAPFILEHEADER; 其中,bfType在图像文件存储空间中的数据地址为0,数据类型unsigned char,内容为固定值“BM”,用于标志文件格式,表示该图像文件为BMP文件。bfSize的数据地址为2,类型unsigned long,它以字节为单位,定义位图文件的大小。 BfReserved1与bfReserved2的数据地址分别为6和8,数据类型则都为unsigned int,二者都是BMP文件的保留字,没有任何意义,其值必须为0. bfOffBits的数据地址为10,数据类型为unsigned long,它以字节为单位,指示图像数据在文件内的起始地址,即图像数据针对文件头的偏移量。 BITMAPINFOHEADER数据结构用于说明位图的大小,其定义为: type structure tagBITMAPINFOHEADER { DWORD biSize: DWORD biWidth; DWORD biHeight; WORD biP

文档评论(0)

rebecca05 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档