Bitmap information structure.

Each bit plane logically contains (cx * cy * cBitCount) bits, although the actual length can be greater because of padding.

Note: Many functions can accept either this structure or the BITMAPINFO structure. Where possible, BITMAPINFO2 should be used.

The cbFix field is used to find the color table, if any, that goes with the information in this structure. A color table is an array of color (RGB2) values. If there are N bits per pel (N = cPlanes * cBitCount), the array contains 2**N color values. However, if N = 24, the color table is not required (because the standard-format bit map, with 24 bits per pel, is assumed to contain RGB values), unless either cclrUsed or cclrImportant is non-zero.

typedef struct _BITMAPINFO2 {
  ULONG      cbFix;            /*  Length of fixed portion of structure. */
  ULONG      cx;               /*  Bitmap width in pels. */
  ULONG      cy;               /*  Bitmap height in pels. */
  USHORT     cPlanes;          /*  Number of bit planes. */
  USHORT     cBitCount;        /*  Number of bits per pel within a plane. */
  ULONG      ulCompression;    /*  Compression scheme used to store the bit map. */
  ULONG      cbImage;          /*  Length of bitmap storage data, in bytes. */
  ULONG      cxResolution;     /*  Horizontal component of the resolution of target device. */
  ULONG      cyResolution;     /*  Vertical component of the resolution of the target device. */
  ULONG      cclrUsed;         /*  Number of color indexes used. */
  ULONG      cclrImportant;    /*  Minimum number of color indexes for satisfactory appearance of the bit map. */
  USHORT     usUnits;          /*  Units of measure. */
  USHORT     usReserved;       /*  Reserved. */
  USHORT     usRecording;      /*  Recording algorithm. */
  USHORT     usRendering;      /*  Halftoning algorithm. */
  ULONG      cSize1;           /*  Size value 1. */
  ULONG      cSize2;           /*  Size value 2. */
  ULONG      ulColorEncoding;  /*  Color encoding. */
  ULONG      ulIdentifier;     /*  Reserved for application use. */
  RGB2       argbColor[1];     /*  Array of RGB values. */
} BITMAPINFO2;

typedef   BITMAPINFO2   * PBITMAPINFO2 ;


[Back] [Next]