所有的BITMAP文件都从BITMAPFILEHEADER结构开始:
typedef struct
{
WORD bfType;//文件标识符(必须是“BM”)
DWORD bfSize;//文件大小(以字节为单位)
WORD bfReserved1;//保留,一般为0
WORD bfReserved2;//图象数据的偏移量(以字节为单位)
}BITMAPFILEHEADER;
文件头下面是BITMAPINFOHEADER结构,主要用来描述图象的内容:
typedef struct
{
DWORD biSize;//BITMAPINFOHEADER结构的大小(以字节为单位)
LONG biWidth;//图象的宽度(以象素为单位)
LONG biHeight;//图象的高度(以象素为单位)
WORD biPlanes; //颜色平面数(一般为1)
WORD biBitCount //每个象素所占位数
DWORD biCompression; //所用压缩类型
DWORD biSizeImage; //图象大小(以字节为单位)
LONG biXPelsPerMeter; //水平象素数/米
LONG biYPelsPerMeter; //垂直象素数/米
DWORD biClrUsed; //所用的颜色索引数
DWORD biClrImportant; //'important'颜色数
}BITMAPINFOHEADER;