欢迎来到天天文库
浏览记录
ID:53872058
大小:74.50 KB
页数:8页
时间:2020-04-10
《BMP格式结构详解.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、BMP格式结构详解 位图文件(Bitmap-File,BMP)格式是Windows采用的图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式。Windows3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相关位图(device-dependentbitmap,DDB)文件格式。Windows3.0以后的BMP位图文件格式与显示设备无关,因此把这种BMP位图文件格式称为设备无关位图(device-independentbitmap,DIB)格式,目的是为了让Windows能够在任何类型的显示设备上显示BMP位图文件。BMP位图文件默认的文件扩展名是BMP或者
2、bmp。6.1.2文件结构位图文件可看成由4个部分组成:位图文件头(bitmap-fileheader)、位图信息头(bitmap-informationheader)、彩色表(colortable)和定义位图的字节阵列,它们的名称和符号如表6-01所示。表6-01BMP图像文件组成部分的名称和符号位图文件的组成结构名称符号位图文件头(bitmap-fileheader)BITMAPFILEHEADERbmfh位图信息头(bitmap-informationheader)BITMAPINFOHEADERbmih彩色表(colortable)RGBQUADaColors[]图像数据阵列字节BYT
3、EaBitmapBits[]位图文件结构可综合在表6-02中。表6-02位图文件结构内容摘要 偏移量域的名称大小内容 图像文件头0000h标识符(Identifier)2bytes两字节的内容用来识别位图的类型:‘BM’:Windows3.1x,95,NT,…‘BA’:OS/2BitmapArray‘CI’:OS/2ColorIcon‘CP’:OS/2ColorPointer‘IC’:OS/2Icon‘PT’:OS/2Pointer 0002hFileSize1dword用字节表示的整个文件的大小 0006hReserved1dword保留,设置为0 000AhBitmapDataOffs
4、et1dword从文件开始到位图数据开始之间的数据(bitmapdata)之间的偏移量 000EhBitmapHeaderSize1dword位图信息头(BitmapInfoHeader)的长度,用来描述位图的颜色、压缩方法等。下面的长度表示:28h-Windows3.1x,95,NT,…0Ch-OS/21.xF0h-OS/22.x 0012hWidth1dword位图的宽度,以像素为单位 0016hHeight1dword位图的高度,以像素为单位 001AhPlanes1word位图的位面数图像信息头 001ChBitsPerPixel1word每个像素的位数1-Monochromebit
5、map4-16colorbitmap8-256colorbitmap16-16bit(highcolor)bitmap24-24bit(truecolor)bitmap32-32bit(truecolor)bitmap 001EhCompression1dword压缩说明:0-none(也使用BI_RGB表示)1-RLE8-bit/pixel(也使用BI_RLE4表示)2-RLE4-bit/pixel(也使用BI_RLE8表示)3-Bitfields(也使用BI_BITFIELDS表示) 0022hBitmapDataSize1dword用字节数表示的位图数据的大小。该数必须是4的倍数 002
6、6hHResolution1dword用像素/米表示的水平分辨率 002AhVResolution1dword用像素/米表示的垂直分辨率 002EhColors1dword位图使用的颜色数。如8-位/像素表示为100h或者256. 0032hImportantColors1dword指定重要的颜色数。当该域的值等于颜色数时,表示所有颜色都一样重要调色板数据0036hPaletteN*4byte调色板规范。对于调色板中的每个表项,这4个字节用下述方法来描述RGB的值:·1字节用于蓝色分量·1字节用于绿色分量·1字节用于红色分量·1字节用于填充符(设置为0)图像数据0436hBitmapDatax
7、bytes该域的大小取决于压缩方法,它包含所有的位图数据字节,这些数据实际就是彩色调色板的索引号 6.1.3构件详解1.位图文件头位图文件头包含有关于文件类型、文件大小、存放位置等信息,在Windows3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义:typedefstructtagBITMAPFILEHEADER{/*bmfh*/UINTbfType;DWORDbfSize
此文档下载收益归作者所有