Struktura BITMAP
Struktura Mapa BITOWA określa wysokość, szerokość, format koloru i bitowe wartości logiczne bitmapy**.**
typedef struct tagBITMAP { /* bm */
int bmType;
int bmWidth;
int bmHeight;
int bmWidthBytes;
BYTE bmPlanes;
BYTE bmBitsPixel;
LPVOID bmBits;
} BITMAP;
Parametry
bmType
Określa typ mapy bitowej.Dla bitowej mapy logicznej ten element członkowski musi być 0.bmWidth
Określa szerokość bitmapy w pikselach.Szerokość musi być większa od 0.bmHeight
Określa wysokość bitmapy w wierszach rastrowych.Wysokość musi być większa od 0.bmWidthBytes
Określa liczbę bajtów w każdym wierszu rastrowym.Ta wartość musi być liczbą parzystą, ponieważ graficzny interfejs urządzenia (GDI) zakłada, że wartości bitowe bitmapy tworzą tablicę wartości całkowitych (2-bajtowe).Innymi słowy bmWidthBytes * 8 musi być kolejną wielokrotnością 16, większą lub równą wartości uzyskanej, kiedy członek bmWidth jest mnożony przez członka bmBitsPixel.bmPlanes
Określa liczbę płaszczyzn kolorów w mapie bitowej.bmBitsPixel
Określa liczbę bitów sąsiadujących kolorów na każdej z płaszczyzn potrzebnych do zdefiniowania piksela.bmBits
Wskazuje lokalizację wartości bitowych bitmapy.Członek BmBits musi być długim wskaźnikiem do tablicy wartości jednobajtowych.
Uwagi
Formaty aktualnie używanych map bitowych to monochromatyczna i kolorowa.Mapa bitowa monochromatyczna używa formatu 1-bitowy, 1-płaszczyznowy.Każde skanowanie jest wielokrotnością 16 bitów.
Skany są zorganizowane w następujący sposób dla czarno-białej mapy bitowej o wysokości n:
Scan 0
Scan 1
.
.
.
Scan n-2
Scan n-1
Piksele na urządzeniu monochromatycznym są czarne lub białe.Jeśli w mapie bitowej odpowiadający bit ma wartość 1, piksel jest włączony (biały).Jeżeli odpowiadający bit w mapie bitowej wynosi 0, piksel jest wyłączony (czarny).
Wszystkie urządzenia obsługują bitmapę, która ma bit RC_BITBLT ustawiony w indeksie RASTERCAPS z funkcji składowej CDC::GetDeviceCaps.
Każde urządzenie ma własny unikatowy format koloru.W celu przekazania bitmapy z jednego urządzenia do drugiego, należy użyć funkcji systemu Windows GetDIBits i SetDIBits.
Wymagania
Nagłówek: wingdi.h