BMFORMAT enumeration

The values of the BMFORMAT enumeration are used by WCS functions to indicate the format that particular bitmaps are in. This data type is extended from BMFORMAT that is available in versions of Windows released before Windows Vista.

Syntax

typedef enum  { 
  BM_x555RGB              = 0x0000,
  BM_x555XYZ              = 0x0101,
  BM_x555Yxy              = 0x102,
  BM_x555Lab              = 0x103,
  BM_x555G3CH             = 0x104,
  BM_RGBTRIPLETS          = 0x0002,
  BM_BGRTRIPLETS          = 0x0004,
  BM_XYZTRIPLETS          = 0x0201,
  BM_YxyTRIPLETS          = 0x202,
  BM_LabTRIPLETS          = 0x203,
  BM_G3CHTRIPLETS         = 0x204,
  BM_5CHANNEL             = 0x205,
  BM_6CHANNEL             = 0x206,
  BM_7CHANNEL             = 0x207,
  BM_8CHANNEL             = 0x208,
  BM_GRAY                 = 0x209,
  BM_xRGBQUADS            = 0x0008,
  BM_xBGRQUADS            = 0x0010,
  BM_xG3CHQUADS           = 0x0304,
  BM_KYMCQUADS            = 0x305,
  BM_CMYKQUADS            = 0x0020,
  BM_10b_RGB              = 0x0009,
  BM_10b_XYZ              = 0x0401,
  BM_10b_Yxy              = 0x402,
  BM_10b_Lab              = 0x403,
  BM_10b_G3CH             = 0x404,
  BM_NAMED_INDEX          = 0x405,
  BM_16b_RGB              = 0x000A,
  BM_16b_XYZ              = 0x0501,
  BM_16b_Yxy              = 0x502,
  BM_16b_Lab              = 0x503,
  BM_16b_G3CH             = 0x504,
  BM_16b_GRAY             = 0x505,
  BM_565RGB               = 0x0001,
  BM_32b_scRGB            = 0x0601,
  BM_32b_scARGB           = 0x0602,
  BM_S2DOT13FIXED_scRGB   = 0x0603,
  BM_S2DOT13FIXED_scARGB  = 0x0604,
  BM_R10G10B10A2          = 0x0701,
  BM_R10G10B10A2_XR       = 0x0702,
  BM_R16G16B16A16_FLOAT   = 0x0703 
} BMFORMAT;

Constants

  • BM_x555RGB
    16 bits per pixel. RGB color space. 5 bits per channel. The most significant bit is ignored.

  • BM_x555XYZ
    16 bits per pixel. Yxy color space. 5 bits per channel. The most significant bit is ignored.

  • BM_x555Yxy
    16 bits per pixel. Yxy color space. 5 bits per channel. The most significant bit is ignored.

  • BM_x555Lab
    BM_x555G3CH

  • BM_x555G3CH
    16 bits per pixel. G3CH color space. 5 bits per channel. The most significant bit is ignored.

  • BM_RGBTRIPLETS
    24 bits per pixel maximum. For three channel colors, such as red, green, and blue, the total size is 24 bits per pixel. For single channel colors, such as gray, the total size is 8 bits per pixel.

  • BM_BGRTRIPLETS
    24 bits per pixel maximum. For three channel colors, such as red, green, and blue, the total size is 24 bits per pixel. For single channel colors, such as gray, the total size is 8 bits per pixel.

  • BM_XYZTRIPLETS
    24 bits per pixel maximum. For three channel colors, such as red, green, and blue, the total size is 24 bits per pixel. For single channel colors, such as gray, the total size is 8 bits per pixel.

  • BM_YxyTRIPLETS
    24 bits per pixel maximum. For three channel, Y, x, and y values, the total size is 24 bits per pixel. For single channel gray scale, the total size is 8 bits per pixel.

  • BM_LabTRIPLETS
    24 bits per pixel maximum. For three channel, L, a, and b values, the total size is 24 bits per pixel. For single channel gray scale, the total size is 8 bits per pixel.

  • BM_G3CHTRIPLETS
    24 bits per pixel maximum. For three channel values, the total size is 24 bits per pixel. For single channel gray scale, the total size is 8 bits per pixel.

  • BM_5CHANNEL
    40 bits per pixel. 8 bits apiece are used for each channel.

  • BM_6CHANNEL

  • BM_7CHANNEL
    56 bits per pixel. 8 bits apiece are used for each channel.

  • BM_8CHANNEL
    64 bits per pixel. 8 bits apiece are used for each channel.

  • BM_GRAY
    32 bits per pixel. Only the 8 bit gray-scale value is used.

  • BM_xRGBQUADS
    32 bits per pixel. 8 bits are used for each color channel. The most significant byte is ignored.

  • BM_xBGRQUADS
    32 bits per pixel. 8 bits are used for each color channel. The most significant byte is ignored.

  • BM_xG3CHQUADS
    32 bits per pixel. 8 bits are used for each color channel. The most significant byte is ignored.

  • BM_KYMCQUADS
    32 bits per pixel. 8 bits are used for each color channel.

  • BM_CMYKQUADS
    32 bits per pixel. 8 bits are used for each color channel.

  • BM_10b_RGB
    32 bits per pixel. 10 bits are used for each color channel. The 2 most significant bits are ignored.

  • BM_10b_XYZ
    32 bits per pixel. 10 bits are used for each color channel. The 2 most significant bits are ignored.

  • BM_10b_Yxy
    32 bits per pixel. 10 bits are used for each color channel. The 2 most significant bits are ignored.

  • BM_10b_Lab
    32 bits per pixel. 10 bits are used for each color channel. The 2 most significant bits are ignored.

  • BM_10b_G3CH
    32 bits per pixel. 10 bits are used for each color channel. The 2 most significant bits are ignored.

  • BM_NAMED_INDEX
    32 bits per pixel. Named color indices. Index numbering begins at one.

  • BM_16b_RGB
    64 bits per pixel. 16 bits are used for the gray-scale value. Each of the three color channels uses 16 bits.

  • BM_16b_XYZ
    64 bits per pixel. 16 bits are used for the gray-scale value. Each of the three color channels uses 16 bits.

  • BM_16b_Yxy
    64 bits per pixel. 16 bits are used for the gray-scale value. Each of the three color channels uses 16 bits.

  • BM_16b_Lab
    64 bits per pixel. 16 bits are used for the gray-scale value. Each of the three color channels uses 16 bits.

  • BM_16b_G3CH
    64 bits per pixel. 16 bits are used for the gray-scale value. Each of the three color channels uses 16 bits.

  • BM_16b_GRAY
    64 bits per pixel. 16 bits are used for the gray-scale value. All other bits are ignored.

  • BM_565RGB
    16 bits per pixel. 5 bits are used for red, 6 for green, and 5 for blue.

  • BM_32b_scRGB
    96 bits per pixel. 32 bits are used for each color channel, as defined by the IEEE 32-bit floating point standard.

  • BM_32b_scARGB
    128 bits per pixel. 32 bits are used for each color channel, as defined by the IEEE 32-bit floating point standard.

  • BM_S2DOT13FIXED_scRGB
    48 bits per pixel. Color data is stored as one 16-bit word per channel, with a fixed range of -4 to +4, inclusive. A signed format is used, with 1 bit for the sign, 2 bits for the integer portion, and 13 bits for the fractional portion.

  • BM_S2DOT13FIXED_scARGB
    64 bits per pixel. Color data is stored as one 16-bit word per channel, with a fixed range of -4 to +4, inclusive. A signed format is used, with 1 bit for the sign, 2 bits for the integer portion, and 13 bits for the fractional portion.

  • BM_R10G10B10A2

  • BM_R10G10B10A2_XR

  • BM_R16G16B16A16_FLOAT
    #endif // NTDDI_VERSION >= NTDDI_WIN7

Remarks

The last four values were added to the BMFORMAT enumeration beginning with Windows Vista.

The PBMFORMAT and LPBMFORMAT data types are defined as pointers to this enumeration:

typedef BMFORMAT *PBMFORMAT, *LPBMFORMAT;

Requirements

Version

Included in Windows Vista and later.

Header

Icm.h

 

 

Send comments about this topic to Microsoft