位圖文件格式:
文件頭
文件標題(BITMAPFILEHEADER)
信息標題(BITMAPINFO)
調色板數據
實際圖像數據
文件標題:
typedef struct tagBITMAPFILEHEADER
{
UINT bfType; //文件類型標識,應該是“BM”對應的數值
DWORD bfSize; //整個文件的長度,以字節爲單位
UINT bfReserved1; //備用字段1
UINT bfReserved2; //備用字段2
DWORD bfOffBits; //文件頭的長度,即位圖文件開始到實際位圖起點的偏移量
}BITMAPFILEHEADER
信息標題:
信息標題主信息
調色板信息(隨色彩信息類型等的不同而項目數量不一樣)
typedef struct tagBitMAPINFO
{
BITMAPFILEHEADER bmiHeader; //含有文件的尺寸大小及色彩格式的信息
RGBQUAD bmiColors[1]; //RBGQUAD數據結構的一個數組定義位圖中的色彩
}BITMAPINFO;
Cbitmap類對象初始化
1 加載資源
Bitmap.LoadBitmap
2 用內存空白位圖初始化Cbitmap對象
a. Cbitmap.CreateCompatibleBitmap(pDC,300,200);
b. Bitmap.CreateBitmap(300,200,24,1,p_Data);
3.通過HBITMAP句柄得到位圖圖對象指針
pBitmap=CBitmap::FromHandle(hBitmap)