The BITMAP structure defines the type, width, height, color format, and bit values of a bitmap.
typedef struct tagBITMAP { // bm LONG bmType; LONG bmWidth; LONG bmHeight; LONG bmWidthBytes; WORD bmPlanes; WORD bmBitsPixel; LPVOID bmBits; } BITMAP;
The bitmap formats currently used are monochrome and color. The monochrome bitmap uses a one-bit, one-plane format. Each scan is a multiple of 32 bits.
Scans are organized as follows for a monochrome bitmap of height n:
Scan 0 Scan 1 . . . Scan n-2 Scan n-1
The pixels on a monochrome device are either black or white. If the corresponding bit in the bitmap is 1, the pixel is set to the foreground color; if the corresponding bit in the bitmap is zero, the pixel is set to the background color.
All devices that have the RC_BITBLT device capability support bitmaps. For more information, see GetDeviceCaps.
Each device has a unique color format. To transfer a bitmap from one device to another, use the GetDIBits and SetDIBits functions.
CreateBitmapIndirect, GetObject
See: