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.
A version of this page is also available for
4/8/2010

This structure defines the dimensions and color information for a device independent bitmap (DIB).

Syntax

typedef struct _BITMAPCOREINFO { 
  BITMAPCOREHEADER 
bmciHeader; 
  RGBTRIPLE 
bmciColors[1]; 
} BITMAPCOREINFO;

Members

bmciHeader

Specifies a BITMAPCOREHEADERstructure that contains information about the dimensions and color format of a DIB.

bmciColors

Specifies an array of RGBTRIPLEstructures that define the colors in the bitmap.

Remarks

A DIB consists of two parts: a BITMAPCOREINFOstructure describing the dimensions and colors of the bitmap, and an array of bytes defining the pixels of the bitmap. The bits in the array are packed together, but each scan line must be padded with zeroes to end on a LONGboundary. The origin of the bitmap is the lower left corner.

The bcBitCountmember of the BITMAPCOREHEADERstructure determines the number of bits that define each pixel and the maximum number of colors in the bitmap.

This member can be one of the following values.

Value Description

1

The bitmap is monochrome, and the bmciColorsmember 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 bmciColorstable.

If the bit is set, the pixel has the color of the second entry in the table.

2

The bitmap has a maximum of 4 colors, and the bmciColorsmember contains up to 4 entries.

4

The bitmap has a maximum of 16 colors, and the bmciColorsmember 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 bmciColorsmember contains up to 256 entries. In this case, each byte in the array represents a single pixel.

24

The bitmap has a maximum of 2^24 colors, and the bmciColorsmember is NULL. Each three-byte triplet in the bitmap array represents the relative intensities of blue, green, and red, respectively, for a pixel.

The colors in the bmciColorstable should appear in order of importance.

Alternatively, for functions that use DIBs, the bmciColorsmember can be an array of 16-bit unsigned integers that specify indexes into the currently realized logical palette, instead of explicit RGB values. In this case, an application using the bitmap must call the DIB function CreateDIBSectionwith the iUsageparameter set to DIB_PAL_COLORS.

Note:
The bmciColorsmember should not contain palette indexes if the bitmap is to be stored in a file or transferred to another application. Unless the application has exclusive use and control of the bitmap, the bitmap color table should contain explicit RGB values.

Requirements

Header windows.h
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also