平常我们常见的*.bmp文件即位图文件,又称DIB设备无关位图,是相对于系统内存中使用的DDB设备相关位图而言的.
一、位图文件头
BITMAPFILEHEADER STRUCT
bfType WORD ? ;文件标识,必须是"BM"
bfSize DWORD ? ;位图文件大小,以字节为单位
bfReserved1 WORD ? ;0,系统保留
bfReserved2 WORD ? ;0,系统保留
bfOffBits DWORD ? ;位图像素数据在文件中的起始位置
BITMAPFILEHEADER ENDS
bfSize DWORD ? ;位图文件大小,以字节为单位
bfReserved1 WORD ? ;0,系统保留
bfReserved2 WORD ? ;0,系统保留
bfOffBits DWORD ? ;位图像素数据在文件中的起始位置
BITMAPFILEHEADER ENDS
二、位图信息头
BITMAPCOREHEADER STRUCT
bcSize DWORD ? ;本结构长度
bcWidth WORD ? ;位图宽度
bcHeight WORD ? ;位图高度
bcPlanes WORD ? ;位图的色平面数
bcBitCount WORD ? ;位图的颜色深度
BITMAPCOREHEADER ENDS
bcSize DWORD ? ;本结构长度
bcWidth WORD ? ;位图宽度
bcHeight WORD ? ;位图高度
bcPlanes WORD ? ;位图的色平面数
bcBitCount WORD ? ;位图的颜色深度
BITMAPCOREHEADER ENDS
BITMAPINFOHEADER STRUCT
bcSize DWORD ? ;本结构长度
bcWidth WORD ? ;位图宽度
bcHeight WORD ? ;位图高度
bcPlanes WORD ? ;位图的色平面数
bcBitCount WORD ? ;位图的颜色深度,即用多少位表示一个像素(标准值为2/单色位图)
biCompression DWORD ? ;位图的压缩方式,一般为BI_RGB即未压缩格式
biSizeImage DWORD ? ;图形尺寸
biXPelsPerMeter DWORD ? ;图形x方向分辨率,单位是像素/米
biYPelsPerMeter DWORD ? ;图形y方向分辨率,单位是像素/米
biClrUsed DWORD ?
biClrImportant DWORD ?
BITMAPINFOHEADER ENDS
bcWidth WORD ? ;位图宽度
bcHeight WORD ? ;位图高度
bcPlanes WORD ? ;位图的色平面数
bcBitCount WORD ? ;位图的颜色深度,即用多少位表示一个像素(标准值为2/单色位图)
biCompression DWORD ? ;位图的压缩方式,一般为BI_RGB即未压缩格式
biSizeImage DWORD ? ;图形尺寸
biXPelsPerMeter DWORD ? ;图形x方向分辨率,单位是像素/米
biYPelsPerMeter DWORD ? ;图形y方向分辨率,单位是像素/米
biClrUsed DWORD ?
biClrImportant DWORD ?
BITMAPINFOHEADER ENDS
三、颜色表
RGBQUAD STRUCT
rgbBlue BYTE ? ;8位蓝色值
rgbGreen BYTE ? ;8位绿色值
rgbRed BYTE ? ;8位红色值
rgbReserved BYTE ? ;0,系统保留
RGBQUAD ENDS
rgbBlue BYTE ? ;8位蓝色值
rgbGreen BYTE ? ;8位绿色值
rgbRed BYTE ? ;8位红色值
rgbReserved BYTE ? ;0,系统保留
RGBQUAD ENDS
四、位图数据
五、显示位图