一般BMP圖像文件由以下4部分組成:
位圖文件頭、位圖信息頭、調色板、實際的位圖數據。
位圖文件頭數據結構:
typedef struct tagBITMAPFILEHEADER {
UINT16 bfType; //2字節 42 4d
DWORD bfSize; //4字節
UINT16 bfReserved1; //2字節 00 00
UINT16 bfReserved2; //2字節 00 00
DWORD bfOffBits; //4字節
} BITMAPFILEHEADER;
位圖信息頭數據結構:
typedef struct tagBITMAPINFOHEADER {
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes; //2字節大小
WORD biBitCount; //2字節大小
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
···
//緊湊型DIB
typedef struct tagBITMAPCOREHEADER // bmch
{
DWORD bcSize; // 結構大小 = 12
WORD bcWidth; // 以像素計的圖像的寬度
WORD bcHeight; // 以像素計的圖像的高度
WORD bcPlanes; // = 1
WORD bcBitCount; // 每個像素的位數 (1, 4, 8 or 24)
}
BITMAPCOREHEADER, * PBITMAPCOREHEADER;
···
http://www.ck234.com/jichuxuexi/qianrushijichu/2013-03-16/2769.html
http://www.cnblogs.com/lzlsky/archive/2012/08/16/2641698.html
http://blog.csdn.net/u013678930/article/details/50071025