BMP

BMP是windows的一种图片格式,其组织方式相对简单,一个简单表示bmp文件的头结构 (BITMAPFILEHEAER)+ 一个表示图片信息的结构(BITMAPINFOHEADER)+ 一个表示调色板的结构(可选)。剩下的便是存储的每一个像素点对应的R,G,B值。

BITMAPFILEHEADER

WORD bfType:表示文件类型,该值必须是0x424D,即字符‘BM’,否则便不是BMP图片。 DWORD bfSize:以字节为单位,表示整个图像文件的大小。 如需要添加列表可继续从左边点击添加 WORD bfReserved1:保留,必须设为0 WORD bfReserved2:保留,必须设为0 DWORD bfOffbits:表示从文件头开始到实际的像素之间的偏移,由于调色板的不固定性,实际像素开始的位置可能发生变化,通过此值便可以确定。

** BITMAPINFOHEADER**

DWORD biSize:说明本结构所占用的字节数,一般为0x28,即40个字节。 DWORD biWidth:很明显喽,表示图片的宽度。 DWORD biHeight:同上,表示图片的高度。 WORD biPlanes:表示目标设备平面数,为1。 WORD biBitCount:表示比特/像素,即每个像素占用多少比特值表示,一般值为1,4,8,16,24,32。 DWORD biCompression:表示像素的压缩类型,一般情况下都为不压缩类型,即BI_RGB,还有可选项为BI_RLE4,BI_RLE8,BI_JPEG,BI_BITFIELDS,再此就不赘述喽。 DWORD biSizeImage:说明图像的大小,以字节为单位,如果是BI_RGB类型,可设为0。 LONG biXPelsPerMeter:水平分辨率,单位像素/米。 LONG biYPelsPerMeter:垂直分辨率,单位像素/米。 DWORD biClrUsed:说明位图实际使用的彩色表中的索引颜色数(设为0的话,则说民使用所有调色板项)。 DWORD biClrImportant: 表示对图像显示有重要影响的颜色索引的数目,0表示都重要。

还是举个栗子吧,请看图(途中所示为用UtralEdit打开的bmp图片):

这是针对BMP格式的简单介绍,希望对你有所启发。