BMP
BMP是windows的一種圖檔格式,其組織方式其實相對簡單喽,一個簡單表示bmp檔案的頭結構 (BITMAPFILEHEAER)+ 一個表示圖檔資訊的結構(BITMAPINFOHEADER)+ 一個表示調色闆的結構(可選)。剩下的便是存儲的每一個像素點對應的R,G,B值。

BITMAPFILEHEADER
WORD bfType:表示檔案類型,該值必須是0x424D,即字元‘BM’,否則便不是BMP圖檔。
DWORD bfSize:以位元組為機關,表示整個圖像檔案的大小。
如需要添加清單可繼續從左邊點選添加
WORD bfReserved1:保留,必須設為0
WORD bfReserved2:保留,必須設為0
DWORD bfOffbits:表示從檔案頭開始到實際的像素之間的偏移,由于調色闆的不固定性,實際像素開始的位置可能發生變化,通過此值便可以确定。
BITMAPINFOHEADER
DWORD biSize:說明本結構所占用的位元組數,一般為0x28,即40個位元組。
DWORD biWidth:很明顯喽,表示圖檔的寬度。
DWORD biHeight:同上,表示圖檔的高度。
WORD biPlanes:表示目标裝置平面數,為1。
WORD biBitCount:表示比特/像素,即每個像素占用多少比特值表示,一般值為1,4,8,16,24,32。
DWORD biCompression:表示像素的壓縮類型,一般情況下都為不壓縮類型,即BI_RGB,還有可選項為BI_RLE4,BI_RLE8,BI_JPEG,BI_BITFIELDS,再此就不贅述喽。
DWORD biSizeImage:說明圖像的大小,以位元組為機關,如果是BI_RGB類型,可設為0。
LONG biXPelsPerMeter:水準分辨率,機關像素/米。
LONG biYPelsPerMeter:垂直分辨率,機關像素/米。
DWORD biClrUsed:說明位圖實際使用的彩色表中的索引顔色數(設為0的話,則說民使用所有調色闆項)。
DWORD biClrImportant: 表示對圖像顯示有重要影響的顔色索引的數目,0表示都重要。
還是舉個栗子吧,請看圖: