Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

BMFORMAT enumeration

The values of the BMFORMAT enumerated type are used by several WCS functions to indicate the format that particular bitmaps are in.

Syntax


typedef enum tagBMFORMAT { 
  BM_x555RGB              = 0x0000,
  BM_x555XYZ              = 0x0101,
  BM_x555Yxy,
  BM_x555Lab,
  BM_x555G3CH,
  BM_RGBTRIPLETS          = 0x0002,
  BM_BGRTRIPLETS          = 0x0004,
  BM_XYZTRIPLETS          = 0x0201,
  BM_YxyTRIPLETS,
  BM_LabTRIPLETS,
  BM_G3CHTRIPLETS,
  BM_5CHANNEL,
  BM_6CHANNEL,
  BM_7CHANNEL,
  BM_8CHANNEL,
  BM_GRAY,
  BM_xRGBQUADS            = 0x0008,
  BM_xBGRQUADS            = 0x0010,
  BM_xG3CHQUADS           = 0x0304,
  BM_KYMCQUADS,
  BM_CMYKQUADS            = 0x0020,
  BM_10b_RGB              = 0x0009,
  BM_10b_XYZ              = 0x0401,
  BM_10b_Yxy,
  BM_10b_Lab,
  BM_10b_G3CH,
  BM_NAMED_INDEX,
  BM_16b_RGB              = 0x000A,
  BM_16b_XYZ              = 0x0501,
  BM_16b_Yxy,
  BM_16b_Lab,
  BM_16b_G3CH,
  BM_16b_GRAY,
  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, *PBMFORMAT, *LPBMFORMAT;

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. CIE device-independent XYZ 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

16 bits per pixel. L*a*b color space. 5 bits per channel. The most significant bit is ignored.

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,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,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, X, Y and Z values, the total size is 24 bits per pixel. For single channel gray scale, the total size is 8 bits per pixel.

Note  The TranslateBitmapBits function does not support BM_XYZTRIPLETS as an input.
 
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.

Note  The TranslateBitmapBits function does not support BM_YxyTRIPLETS as an input.
 
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

48 bits per pixel. 8 bits apiece are used for each channel.

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 1.

BM_16b_RGB

48 bits per pixel. Each channel uses 16 bits.

BM_16b_XYZ

48 bits per pixel. Each channel uses 16 bits.

BM_16b_Yxy

48 bits per pixel. Each channel uses 16 bits.

BM_16b_Lab

48 bits per pixel. Each channel uses 16 bits.

BM_16b_G3CH

48 bits per pixel. Each channel uses 16 bits.

BM_16b_GRAY

16 bits per pixel.

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 bit per channel IEEE floating point.

BM_32b_scARGB

128 bits per pixel, 32 bit per channel IEEE floating point.

BM_S2DOT13FIXED_scRGB

48 bits per pixel, Fixed point integer ranging from -4 to +4 with a sign bit and 2 bit exponent and 13 bit mantissa.

BM_S2DOT13FIXED_scARGB

64 bits per pixel, Fixed point integer ranging from -4 to +4 with a sign bit and 2 bit exponent and 13 bit mantissa.

BM_R10G10B10A2

32 bits per pixel. 10 bits are used for each color channel. The two most significant bits are alpha.

BM_R10G10B10A2_XR

32 bits per pixel. 10 bits are used for each color channel. The 10 bits of each color channel are 2.8 fixed point with a -0.75 bias, giving a range of [-0.76 .. 1.25]. This range corresponds to [-0.5 .. 1.5] in a gamma = 1 space. The two most significant bits are preserved for alpha.

This uses an extended range (XR) sRGB color space. It has the same RGB primaries, white point, and gamma as sRGB.

BM_R16G16B16A16_FLOAT

64 bits per pixel. Each channel is a 16-bit float. The last WORD is alpha.

Table of Bitmap Formats

The follow table shows, for each of the formats, the number of bits per pixel, the number of channels, the order of the channels, and the bit-by-bit structure of each byte. You may have to scroll to the right to see all the columns of the table.

FormatBits Per PixelNumber of ChannelsChannel OrderingByte 0Byte 1Byte 2Byte 3Byte 4Byte 5Byte 6Byte 7
BM_GRAY81 K₇K₆K₅K₄K₃K₂K₁K₀
BM_565RGB163BGR G₂G₁G₀B₄B₃B₂B₁B₀ R₄R₃R₂R₁R₀G₅G₄G₃
BM_x555RGB163BGR G₂G₁G₀B₄B₃B₂B₁B₀ xR₄R₃R₂R₁R₀G₄G₃
BM_x555XYZ163ZYX Y₂Y₁Y₀Z₄Z₃Z₂Z₁Z₀ xX₄X₃X₂X₁X₀Y₄Y₃
BM_x555Yxy163yxY x₂x₁x₀y₄y₃y₂y₁y₀ xY₄Y₃Y₂Y₁Y₀x₄x₃
BM_x555Lab163baL a₂a₁a₀b₄b₃b₂b₁b₀ xL₄L₃L₂L₁L₀a₄a₃
BM_x555G3CH163123 xC1₄C1₃C1₂C1₁C1₀C2₄C2₃ C2₂C2₁C2₀C3₄C3₃C3₂C3₁C3₀
BM_16b_GRAY161K K₇K₆K₅K₄K₃K₂K₁K₀ K₁₅K₁₄K₁₃K₁₂K₁₁K₁₀K₉K₈
BM_RGBTRIPLETS243BGR B₇B₆B₅B₄B₃B₂B₁B₀ G₇G₆G₅G₄G₃G₂G₁G₀ R₇R₆R₅R₄R₃R₂R₁R₀
BM_BGRTRIPLETS243RGB R₇R₆R₅R₄R₃R₂R₁R₀ G₇G₆G₅G₄G₃G₂G₁G₀ B₇B₆B₅B₄B₃B₂B₁B₀
BM_XYZTRIPLETS243XYZ X₇X₆X₅X₄X₃X₂X₁X₀ Y₇Y₆Y₅Y₄Y₃Y₂Y₁Y₀ Z₇Z₆Z₅Z₄Z₃Z₂Z₁Z₀
BM_YxyTRIPLETS243Yxy Y₇Y₆Y₅Y₄Y₃Y₂Y₁Y₀ x₇x₆x₅x₄x₃x₂x₁x₀ y₇y₆y₅y₄y₃y₂y₁y₀
BM_LabTRIPLETS243Lab L₇L₆L₅L₄L₃L₂L₁L₀ a₇a₆a₅a₄a₃a₂a₁a₀ b₇b₆b₅b₄b₃b₂b₁b₀
BM_G3CHTRIPLETS243123 C1₇C1₆C1₅C1₄C1₃C1₂C1₁C1₀ C2₇C2₆C2₅C2₄C2₃C2₂C2₁C2₀ C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀
BM_xRGBQUADS323BGRx B₇B₆B₅B₄B₃B₂B₁B₀ G₇G₆G₅G₄G₃G₂G₁G₀ R₇R₆R₅R₄R₃R₂R₁R₀xxxxxxxx
BM_xBGRQUADS323RGBx R₇R₆R₅R₄R₃R₂R₁R₀ G₇G₆G₅G₄G₃G₂G₁G₀ B₇B₆B₅B₄B₃B₂B₁B₀xxxxxxxx
BM_xG3CHQUADS323123x C1₇C1₆C1₅C1₄C1₃C1₂C1₁C1₀ C2₇C2₆C2₅C2₄C2₃C2₂C2₁C2₀ C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀xxxxxxxx
BM_CMYKQUADS324KYMC K₇K₆K₅K₄K₃K₂K₁K₀ Y₇Y₆Y₅Y₄Y₃Y₂Y₁Y₀ M₇M₆M₅M₄M₃M₂M₁M₀ C₇C₆C₅C₄C₃C₂C₁C₀
BM_KYMCQUADS324CMYK C₇C₆C₅C₄C₃C₂C₁C₀ M₇M₆M₅M₄M₃M₂M₁M₀ Y₇Y₆Y₅Y₄Y₃Y₂Y₁Y₀ K₇K₆K₅K₄K₃K₂K₁K₀
BM_10b_RGB323BGR B₇B₆B₅B₄B₃B₂B₁B₀ G₅G₄G₃G₂G₁G₀B₉B₈ R₃R₂R₁R₀G₉G₈G₇G₆ xxR₉R₈R₇R₆R₅R₄
BM_10b_XYZ323ZYX Z₇Z₆Z₅Z₄Z₃Z₂Z₁Z₀ Y₅Y₄Y₃Y₂Y₁Y₀Z₉Z₈ X₃X₂X₁X₀Y₉Y₈Y₇Y₆ xxX₉X₈X₇X₆X₅X₄
BM_10b_Yxy323yxY y₇y₆y₅y₄y₃y₂y₁y₀ x₅x₄x₃x₂x₁x₀y₉y₈ Y₃Y₂Y₁Y₀x₉x₈x₇x₆ xxY₉Y₈Y₇Y₆Y₅Y₄
BM_10b_Lab323baL b₇b₆b₅b₄b₃b₂b₁b₀ a₅a₄a₃a₂a₁a₀b₉b₈ L₃L₂L₁L₀a₉a₈a₇a₆ xxL₉L₈L₇L₆L₅L₄
BM_10b_G3CH323321 C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀ C2₅C2₄C2₃C2₂C2₁C2₀C3₉C3₈ C1₃C1₂C1₁C1₀C2₉C2₈C2₇C2₆ xxC1₉C1₈C1₇C1₆C1₅C1₄
BM_NAMED_INDEX32 n₇n₆n₅n₄n₃n₂n₁n₀ n₁₅n₁₄n₁₃n₁₂n₁₁n₁₀n₉n₈ n₂₃n₂₂n₂₁n₂₀n₁₉n₁₈n₁₇n₁₆ n₃₁n₃₀n₂₉n₂₈n₂₇n₂₆n₂₅n₂₄
BM_5CHANNEL40512345 C1₇C1₆C1₅C1₄C1₃C1₂C1₁C1₀ C2₇C2₆C2₅C2₄C2₃C2₂C2₁C2₀ C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀ C4₇C4₆C4₅C4₄C4₃C4₂C4₁C4₀ C5₇C5₆C5₅C5₄C5₃C5₂C5₁C5₀
BM_6CHANNEL486123456 C1₇C1₆C1₅C1₄C1₃C1₂C1₁C1₀ C2₇C2₆C2₅C2₄C2₃C2₂C2₁C2₀ C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀ C4₇C4₆C4₅C4₄C4₃C4₂C4₁C4₀ C5₇C5₆C5₅C5₄C5₃C5₂C5₁C5₀ C6₇C6₆C6₅C6₄C6₃C6₂C6₁C6₀
BM_16b_RGB483RGB R₇R₆R₅R₄R₃R₂R₁R₀ R₁₅R₁₄R₁₃R₁₂R₁₁R₁₀R₉R₈ G₇G₆G₅G₄G₃G₂G₁G₀ G₁₅G₁₄G₁₃G₁₂G₁₁G₁₀G₉G₈ B₇B₆B₅B₄B₃B₂B₁B₀ B₁₅B₁₄B₁₃B₁₂B₁₁B₁₀B₉B₈
BM_16b_XYZ483XYZ X₇X₆X₅X₄X₃X₂X₁X₀ X₁₅X₁₄X₁₃X₁₂X₁₁X₁₀X₉X₈ Y₇Y₆Y₅Y₄Y₃Y₂Y₁Y₀ Y₁₅Y₁₄Y₁₃Y₁₂Y₁₁Y₁₀Y₉Y₈ Z₇Z₆Z₅Z₄Z₃Z₂Z₁Z₀ Z₁₅Z₁₄Z₁₃Z₁₂Z₁₁Z₁₀Z₉Z₈
BM_16b_Lab483Lab L₇L₆L₅L₄L₃L₂L₁L₀ L₁₅L₁₄L₁₃L₁₂L₁₁L₁₀L₉L₈ a₇a₆a₅a₄a₃a₂a₁a₀ a₁₅a₁₄a₁₃a₁₂a₁₁a₁₀a₉a₈ b₇b₆b₅b₄b₃b₂b₁b₀ b₁₅b₁₄b₁₃b₁₂b₁₁b₁₀b₉b₈
BM_16b_G3CH483321 C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀ C3₁₅C3₁₄C3₁₃C3₁₂C3₁₁C3₁₀C3₉C3₈ C2₇C2₆C2₅C2₄C2₃C2₂C2₁C2₀ C2₁₅C2₁₄C2₁₃C2₁₂C2₁₁C2₁₀C2₉C2₈ C1₇C1₆C1₅C1₄C1₃C1₂C1₁C1₀ C1₁₅C1₁₄C1₁₃C1₁₂C1₁₁C1₁₀C1₉C1₈
BM_16b_Yxy483Yxy Y₇Y₆Y₅Y₄Y₃Y₂Y₁Y₀ Y₁₅Y₁₄Y₁₃Y₁₂Y₁₁Y₁₀Y₉Y₈ x₇x₆x₅x₄x₃x₂x₁x₀ x₁₅x₁₄x₁₃x₁₂x₁₁x₁₀x₉x₈ y₇y₆y₅y₄y₃y₂y₁y₀ y₁₅y₁₄y₁₃y₁₂y₁₁y₁₀y₉y₈
BM_7CHANNEL5671234567 C1₇C1₆C1₅C1₄C1₃C1₂C1₁C1₀ C2₇C2₆C2₅C2₄C2₃C2₂C2₁C2₀ C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀ C4₇C4₆C4₅C4₄C4₃C4₂C4₁C4₀ C5₇C5₆C5₅C5₄C5₃C5₂C5₁C5₀ C6₇C6₆C6₅C6₄C6₃C6₂C6₁C6₀ C7₇C7₆C7₅C7₄C7₃C7₂C7₁C7₀
BM_8CHANNEL64812345678 C1₇C1₆C1₅C1₄C1₃C1₂C1₁C1₀ C2₇C2₆C2₅C2₄C2₃C2₂C2₁C2₀ C3₇C3₆C3₅C3₄C3₃C3₂C3₁C3₀ C4₇C4₆C4₅C4₄C4₃C4₂C4₁C4₀ C5₇C5₆C5₅C5₄C5₃C5₂C5₁C5₀ C6₇C6₆C6₅C6₄C6₃C6₂C6₁C6₀ C7₇C7₆C7₅C7₄C7₃C7₂C7₁C7₀ C8₇C8₆C8₅C8₄C8₃C8₂C8₁C8₀
BM_32b_scRGB963BGR
BM_32b_scARGB1283BGRA
BM_S2DOT13FIXED_scRGB483BGR
BM_S2DOT13FIXED_scARGB643BGRA
BM_R10G10B10A2323ABGRA₇A₆B₅B₄B₃B₂B₁B₀B₇B₆B₅B₄G₃G₂G₁G₀G₇G₆G₅G₄G₃G₂R₁R₀R₇R₆R₅R₄R₃R₂R₁R₀
BM_R10G10B10A2_XR323ABGRA₇A₆B₅B₄B₃B₂B₁B₀B₇B₆B₅B₄G₃G₂G₁G₀G₇G₆G₅G₄G₃G₂R₁R₀R₇R₆R₅R₄R₃R₂R₁R₀
BM_R16G16B16A16_FLOAT643RGBAR₇R₆R₅R₄R₃R₂R₁R₀R₇R₆R₅R₄R₃R₂R₁R₀G₇G₆G₅G₄G₃G₂G₁G₀G₇G₆G₅G₄G₃G₂G₁G₀B₇B₆B₅B₄B₃B₂B₁B₀B₇B₆B₅B₄B₃B₂B₁B₀A₇A₆A₅A₄A₃A₂A₁A₀A₇A₆A₅A₄A₃A₂A₁A₀

 

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Icm.h

 

 

Show: