欢迎来到天天文库
浏览记录
ID:51071182
大小:757.00 KB
页数:13页
时间:2020-03-18
《BMP文件结构分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、BMP文件结构分析(一)2010-04-0621:10【转自网络】BMP文件存储结构的格式可以在Windows屮的WINGDI.h文件屮找到定义。BMP文件总体上由4部分组成,分别是位图文件头、位图信息头、调色板和图像数据,如表5-1所示。表5-1BMP文件的组成结构下而来详细看一下每个组成部分的细节。1.位图文件头(bitmap-f订eheader)位图文件头(bitmap-fileheader)包含了图像类型、图像大小、图像数据存放地址和两个保留未使用的字段。打开WTNGDT.h文件,搜索,ZBTTMAPFTLEIIEADERZ/就可以定位到BMP文件的位图文件
2、头的数据结构定义。typedefstructtagBITMAPFILEHEADER{WORDDWORDWORDWORDDWORDbfType;bfSize;bfReservedl;bfReserved2;bfOffBits;}BITMAPFILEHEADER,FAR*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;表5-2列出了tagBITMAPFILEHEADER中各字段的含义。表5-2tagBITMAPFILEHEADER结构字段名大小(单位:字节)描述bfType2位图类别,根据不同的操作系统而不同,在Windows屮,此字段的值总
3、为'BM'bfSize4BMP图像文件的人小bfReserved12总为0bfReserved22总为0bfOffBits4BMP图像数据的地址2.位图信息头(bitmap-informationheader)位图信息头(bitmap-informationheader)包含了位图信息头的大小、图像的宽高、图像的色深、压缩说明图像数据的大小和其他一些参数。打开WINGDI.h文件,搜索z,tagBITMAPINFOHEADER,z就可以定位到BMP文件的位图信息头的数据结构定义。typedefstructtagBITMAPINFOHEADER{DWORDbiSize
4、;LONGbiWidth;LONGbiHeight;WORDbiPlanes;WORDbiBitCount;DWORDbiCompression;DWORDbiSizeimage;LONGbiXPelsPerMeter;LONGbiYPelsPerMeter;DWORDbiClrUsed;DWORDbiClrlmportant;}BITMAPINFOHEADER,FAR^LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;表5-3列出了tagBITMAPFILEHEADER中各字段的含义。表5-3tagBITMAPFILEHEADER结构字段
5、名大小(单位:字节)描述biSize4本结构的人小,根据不同的操作系统而不同,在Windows中,此字段的值总为28h字节二40字节biWidth4BMP图像的宽度,单位像索biHeight4总为0biPlanes2总为0biBit.Count2BMP图像的色深,即一个像素用多少位表示,常见有1、4、8、16、24和32,分别对应单色、1&色、256色、1&位高彩色、24位真彩色和32位增强型真彩色biCompression4压缩方式,0表示不压缩,1表示RLE8压缩,2表示RLE4压缩,3表示每个像素值由指定的掩码决定biSizeTmage4BMP图像数据人小,必
6、须是4的倍数,图像数据人小不是4的倍数吋用0填充补足biXPe1sPerMeter4水平分辨率,单位像索/mbiYPelsPerMeter4垂直分辨率,单位像索/nibiClrUsed4BMP图像使用的颜色,0表示使用全部颜色,对于256色位图来说,此值为100h=256biClrlmportant4重要的颜色数,此值为0时所有颜色都重要,对于使用调色板的卩图像來说,当显卡不能够显示所有颜色时,此值将辅助驱动程序显示颜色3.彩色表/调色板(colortable)彩色表/调色板(colortable)是单色、16色和256色图像文件所特有的,相对应的调色板大小是2、1
7、6和256,调色板以4字节为单位,每4个字节存放一个颜色值,图像的数据是指向调色板的索引。可以将调色板想象成一个数组,每个数组元索的大小为4字节,假设有一256色的BMP图像的调色板数据为:调色板[0]二黑、调色板[1]二白、调色板[2]二红、调色板[3]二蓝…调色板[255]=黄图像数据010002FF表示调用调色板[1]、调色板[0]、调色板[2]和调色板[255]屮的数据来显示图像颜色。在早期的计算机屮,显卡相对比较落后,不一定能保证显示所有颜色,所以在调色板屮的颜色数据应尽可能将图像屮主要的颜色按顺序排列在前而,位图信息头的biClrlmportant字
此文档下载收益归作者所有