Struktury map BITOWYCH ma następującą postać:
eleme&nt TypeDef struct tagBITMAP {nbsp; / * bm * /
int bmType;
int bmWidth;
int bmHeight;
int bmWidthBytes;
BAJT bmPlanes;
BAJT bmBitsPixel;
Elementem LPVOID bmBits;
} BITMAPY
Struktura Mapa BITOWA określa wysokość, szerokość, format koloru i wartości bitowe logiczne mapy bitowej.
Członkowie
bmType
Określa typ mapy bitowej. Logiczne bitmap członek ten musi być równy 0.
bmWidth
Określa szerokość bitmapowego w pikselach. Szerokość musi być większa niż 0.
bmHeight
Określa wysokość bitmapy w rastrowe linie. Wysokość musi być większa niż 0.
bmWidthBytes
Określa liczbę bajtów w każdym wierszu rastrowe. Ta wartość musi być liczbą parzystą, gdyż graficzny interfejs urządzenia (GDI) zakłada, że wartości bitowe bitmapy na formularzu tablicę wartości całkowitych (2-bajtowe). Innymi słowy, bmWidthBytes * 8 musi być następna wielokrotność 16 większa lub równa wartości uzyskiwane, gdy element bmWidth jest mnożona przez członka bmBitsPixel.
bmPlanes
Określa liczbę płaszczyzn kolorów w bitmapy.
bmBitsPixel
Określa liczbę bitów sąsiadujących kolorów na każdej z płaszczyzn wymagane do zdefiniowania piksel.
bmBits
Wskazuje położenie wartości bitowe bitmapy. Element bmBits musi być długie wskaźnik do tablicy jednobajtowej wartości.
Komentarze
Formaty bitmapowe aktualnie używane są czarno-białych i kolor. Mapa bitowa monochromatyczna używa formatu 1-bitowym, 1-płaszczyzny. Każdym skanowaniu jest wielokrotnością 16 bitów.
Skanowanie są zorganizowane w następujący sposób dla bitmap monochromatycznych wysokość n:
Skanowanie 0
Skanowanie 1
.
.
.
Skanowanie n-2
Skanowanie n-1
Piksele na urządzeniu monochromatyczne są albo czarny lub biały. Gdy odpowiadający mu bit w bitmapa jest 1, piksel jest włączona (biały). Gdy odpowiadający mu bit w bitmapa jest 0, piksel jest wyłączone (czarny).
Wszystkie urządzenia obsługują bitmap ustawionym bitem RC_BITBLT w indeksie RASTERCAPS funkcji członek CDC::GetDeviceCaps.
Każde urządzenie ma własny format unikatowy kolor. Aby przenieść bitmapy z jednego urządzenia do drugiego, należy użyć GetDIBits i SetDIBits funkcji systemu Windows.
Zobacz też CBitmap::CreateBitmapIndirect