Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This structure contains information about the dimensions and color format of a device-independent bitmap (DIB).
typedef struct tagBITMAPINFOHEADER{ DWORD biSize ; LONG biWidth ; LONG biHeight ; WORD biPlanes ; WORD biBitCount DWORD biCompression ; DWORD biSizeImage ; LONG biXPelsPerMeter ; LONG biYPelsPerMeter ; DWORD biClrUsed ; DWORD biClrImportant ; } BITMAPINFOHEADER;
Members
If biHeightis negative, indicating a top-down DIB, biCompressionmust be either BI_RGB or BI_BITFIELDS. Top-down DIBs cannot be compressed.
Value | Description |
---|---|
1 | The bitmap is monochrome, and the bmiColorsmember contains two entries. Each bit in the bitmap array represents a pixel. If the bit is clear, the pixel is displayed with the color of the first entry in the bmiColorstable; if the bit is set, the pixel has the color of the second entry in the table. |
2 | The bitmap has four possible color values. |
4 | The bitmap has a maximum of 16 colors, and the bmiColorsmember contains up to 16 entries. Each pixel in the bitmap is represented by a 4-bit index into the color table. For example, if the first byte in the bitmap is 0x1F, the byte represents two pixels. The first pixel contains the color in the second table entry, and the second pixel contains the color in the sixteenth table entry. |
8 | The bitmap has a maximum of 256 colors, and the bmiColorsmember contains up to 256 entries. In this case, each byte in the array represents a single pixel. |
16 | The bitmap has a maximum of 2^16 colors. If the biCompressionmember of the BITMAPINFOHEADERis BI_RGB, the bmiColorsmember is NULL. Each WORDin the bitmap array represents a single pixel. The relative intensities of red, green, and blue are represented with 5 bits for each color component. The value for blue is in the least significant 5 bits, followed by 5 bits each for green and red. The most significant bit is not used. The bmiColorscolor table is used for optimizing colors used on palette-based devices, and must contain the number of entries specified by the biClrUsedmember of the BITMAPINFOHEADER. |
24 | The bitmap has a maximum of 2^24 colors, and the bmiColorsmember is NULL. Each 3-byte triplet in the bitmap array represents the relative intensities of blue, green, and red, respectively, for a pixel. The bmiColorscolor table is used for optimizing colors used on palette-based devices, and must contain the number of entries specified by the biClrUsedmember of the BITMAPINFOHEADER. |
32 | The bitmap has a maximum of 2^32 colors. If the
biCompressionmember of the
BITMAPINFOHEADERis BI_RGB, the
bmiColorsmember is NULL. Each
DWORDin the bitmap array represents the relative intensities
of blue, green, and red, respectively, for a pixel. The high byte
in each
DWORDis not used. The
bmiColorscolor table is used for optimizing colors used on
palette-based devices, and must contain the number of entries
specified by the
biClrUsedmember of the
BITMAPINFOHEADER.
If the biCompressionmember of the BITMAPINFOHEADERis BI_BITFIELDS, the bmiColorsmember contains three DWORDcolor masks that specify the red, green, and blue components, respectively, of each pixel. Each DWORDin the bitmap array represents a single pixel. |
Value | Description |
---|---|
BI_RGB | An uncompressed format |
BI_BITFIELDS | Specifies that the bitmap is not compressed and that the color table consists of three DWORD color masks that specify the red, green, and blue components, respectively, of each pixel. This is valid when used with 16- and 32-bpp bitmaps. This value is valid in Windows CE versions 2.0 and later. |
If biClrUsedis nonzero and the biBitCountmember is less than 16, the biClrUsedmember specifies the actual number of colors the graphics engine or device driver accesses. If biBitCountis 16 or greater, the biClrUsedmember specifies the size of the color table used to optimize performance of the system color palettes. If biBitCountequals 16 or 32, the optimal color palette starts immediately following the three DWORDmasks.
If the bitmap is a packed bitmap (a bitmap in which the bitmap array immediately follows the BITMAPINFOheader and is referenced by a single pointer), the biClrUsedmember must be either zero or the actual size of the color table.
Remarks
The BITMAPINFOstructure combines the BITMAPINFOHEADERstructure and a color table to provide a complete definition of the dimensions and colors of a DIB.
An application should use the information stored in the biSizemember to locate the color table in a BITMAPINFOstructure, as follows.
pColor = ((LPSTR)pBitmapInfo + (WORD)(pBitmapInfo->bmiHeader.biSize));
For Windows CE versions 1.0 and 1.01, the biBitCountmember must be either one or two.
Requirements
Runs on | Versions | Defined in | Include | Link to |
---|---|---|---|---|
Windows CE OS | 1.0 and later | Wingdi.h |
Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
See Also