一、BMP文件结构
1、位图文件头BITMAPFILEHEADER(14字节)
typedef struct tagBITMAPFILEHEADER
{
WORD bfType;//位图文件类型,必须为0x4D42,即字符串‘BM’
DWORD bfSize;//位图文件大小,单位byte
WORD bfReserved1; //保留字节
WORD bfReserved2; //保留字节
DWORD bfOffBits;//文件头到实际位图数据偏移字节数,即 BITMAPFILEHEADER+BITMAPINFOHEADER+RGBQUAD
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
2、位图信息头 BITMAPINFOHEADER(40字节)
typedef struct tagBITMAPINFOHEADER{
DWORD biSize;//本结构长度,40字节
LONG biWidth;//位图实际宽度/pixel
LONG biHeight;//位图实际高度/pixel
WORD biPlanes;//必须为1
WORD biBitCount;//每像素所占位数,1(黑白),4(16色),8(256色),24(真彩色)
DWORD biCompression;//位图压缩类型
DWORD biSizeImage;//位图大小
LONG biXPelsPerMeter; //水平分辨率,pixel/m
LONG biYPelsPerMeter; //垂直辨率,pixel/m
DWORD biClrUsed; //实际用到颜色数,若为0则用到2^biBitCount
DWORD biClrImportant; //重要颜色数,若为0则所有颜色都重要
} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFO