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

BMP文件数据结构分析.ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BMP文件数据结构分析

* * * BMP文件 位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列。 文件结构 位图文件头数据结构(14个字节)包含BMP图象文件的类型,显示内容等信息。它的数据结构定义如下: Typedef struct { int bfType; //表明位图文件的类型,必为BM(0x424D ) long bfSize; //表明位图文件的大小,以字节为单位 int bfReserved1;//保留字,为0 int bfReserved2;//保留字,为0 long bfOffBits; //位图阵列的起始位置,以字节为单位 } BITMAPFILEHEADER; 位图信息数据结构由BITMAPINFO和RGBQUAD两个数据结构组成,它的C语言数据结构如下: Typedef struct { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColor[ ]; } BITMAPINFO; 其中BITMAPINFOHEADER数据结构(40个字节)包含了有关BMP图象的宽,高,压缩方法等信息,它的C语言数据结构如下: Typedef struct { long biSize; //指出本数据结构所需要的字节数 long biWidth;//以象素为单位,给出BMP图象的宽度 long biHeight;//以象素为单位,给出BMP图象的高度 int biPlanes;//输出设备的位平面数,必须置为1 int biBitCount;//给出每个象素的位数,1、4、8、24 long biCompress;//给出位图的压缩类型 long biSizeImage;//给出图象字节数的多少 long biXPelsPerMeter;//图像的水平分辨率 long biYPelsPerMeter;//图象的垂直分辨率 long biClrUsed;//调色板中图象实际使用的颜色数 long biClrImportant;//给出重要颜色的索引值 } BITMAPINFOHEADER; 数据结构RGBQUAD定义一种颜色(4个字节)。它的C语言结构如下 所示: Typedef struct tagRGBQUAD { unsigned char rgbBlue; //蓝色的亮度 unsigned char rgbGreen; //绿色的亮度 unsigned char rgbRed; //红色的亮度 unsigned char rgbReserved;//保留 } RGBQUAD; 位图信息(BITMAPINFO)数据结构中的bmiColor[]是一个颜色表,用于说明图像中的颜色,相当于一个调色板。每一个表项都由RGBQUAD结构定义了一种颜色。 bmiColor[]表项的个数由biBitCount来定,字节数等于颜色表个数乘以4。 当biBitCount=1,4,8时bmiColor分别有2,16,256项。当biBitCount=24时,bmiColor[ ] 为空。位图阵列的每三个字节表示一个像素,这3个字节直接定义了像素颜色中的蓝绿红的值。 位图阵列记录了图象的每一个象素的颜色值或索引值,每个象素所占的位数由位图信息数据结构BITMAPINFO中BITMAPINFOHEADER数据结构的biBitCount分量定义。 位图阵列的顺序是从图象的左下角开始逐行扫描图象,即从左到右,从下到上,将图象的象素值(或颜色索引)一一记录下来。 BMP格式规定每行的字节数必须是4的整数倍,不足补0。 对于8位灰度图,一般情况下索引号对应的RGB值和索引号相同(0-255)。

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档