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.

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

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 K7K6K5K4K3K2K1K0
BM_565RGB163BGR G2G1G0B4B3B2B1B0 R4R3R2R1R0G5G4G3
BM_x555RGB163BGR G2G1G0B4B3B2B1B0 xR4R3R2R1R0G4G3
BM_x555XYZ163ZYX Y2Y1Y0Z4Z3Z2Z1Z0 xX4X3X2X1X0Y4Y3
BM_x555Yxy163yxY x2x1x0y4y3y2y1y0 xY4Y3Y2Y1Y0x4x3
BM_x555Lab163baL a2a1a0b4b3b2b1b0 xL4L3L2L1L0a4a3
BM_x555G3CH163123 xC14C13C12C11C10C24C23 C22C21C20C34C33C32C31C30
BM_16b_GRAY161K K7K6K5K4K3K2K1K0 K15K14K13K12K11K10K9K8
BM_RGBTRIPLETS243BGR B7B6B5B4B3B2B1B0 G7G6G5G4G3G2G1G0 R7R6R5R4R3R2R1R0
BM_BGRTRIPLETS243RGB R7R6R5R4R3R2R1R0 G7G6G5G4G3G2G1G0 B7B6B5B4B3B2B1B0
BM_XYZTRIPLETS243XYZ X7X6X5X4X3X2X1X0 Y7Y6Y5Y4Y3Y2Y1Y0 Z7Z6Z5Z4Z3Z2Z1Z0
BM_YxyTRIPLETS243Yxy Y7Y6Y5Y4Y3Y2Y1Y0 x7x6x5x4x3x2x1x0 y7y6y5y4y3y2y1y0
BM_LabTRIPLETS243Lab L7L6L5L4L3L2L1L0 a7a6a5a4a3a2a1a0 b7b6b5b4b3b2b1b0
BM_G3CHTRIPLETS243123 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30
BM_xRGBQUADS323BGRx B7B6B5B4B3B2B1B0 G7G6G5G4G3G2G1G0 R7R6R5R4R3R2R1R0xxxxxxxx
BM_xBGRQUADS323RGBx R7R6R5R4R3R2R1R0 G7G6G5G4G3G2G1G0 B7B6B5B4B3B2B1B0xxxxxxxx
BM_xG3CHQUADS323123x C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30xxxxxxxx
BM_CMYKQUADS324KYMC K7K6K5K4K3K2K1K0 Y7Y6Y5Y4Y3Y2Y1Y0 M7M6M5M4M3M2M1M0 C7C6C5C4C3C2C1C0
BM_KYMCQUADS324CMYK C7C6C5C4C3C2C1C0 M7M6M5M4M3M2M1M0 Y7Y6Y5Y4Y3Y2Y1Y0 K7K6K5K4K3K2K1K0
BM_10b_RGB323BGR B7B6B5B4B3B2B1B0 G5G4G3G2G1G0B9B8 R3R2R1R0G9G8G7G6 xxR9R8R7R6R5R4
BM_10b_XYZ323ZYX Z7Z6Z5Z4Z3Z2Z1Z0 Y5Y4Y3Y2Y1Y0Z9Z8 X3X2X1X0Y9Y8Y7Y6 xxX9X8X7X6X5X4
BM_10b_Yxy323yxY y7y6y5y4y3y2y1y0 x5x4x3x2x1x0y9y8 Y3Y2Y1Y0x9x8x7x6 xxY9Y8Y7Y6Y5Y4
BM_10b_Lab323baL b7b6b5b4b3b2b1b0 a5a4a3a2a1a0b9b8 L3L2L1L0a9a8a7a6 xxL9L8L7L6L5L4
BM_10b_G3CH323321 C37C36C35C34C33C32C31C30 C25C24C23C22C21C20C39C38 C13C12C11C10C29C28C27C26 xxC19C18C17C16C15C14
BM_NAMED_INDEX32 n7n6n5n4n3n2n1n0 n15n14n13n12n11n10n9n8 n23n22n21n20n19n18n17n16 n31n30n29n28n27n26n25n24
BM_5CHANNEL40512345 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50
BM_6CHANNEL486123456 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50 C67C66C65C64C63C62C61C60
BM_16b_RGB483RGB R7R6R5R4R3R2R1R0 R15R14R13R12R11R10R9R8 G7G6G5G4G3G2G1G0 G15G14G13G12G11G10G9G8 B7B6B5B4B3B2B1B0 B15B14B13B12B11B10B9B8
BM_16b_XYZ483XYZ X7X6X5X4X3X2X1X0 X15X14X13X12X11X10X9X8 Y7Y6Y5Y4Y3Y2Y1Y0 Y15Y14Y13Y12Y11Y10Y9Y8 Z7Z6Z5Z4Z3Z2Z1Z0 Z15Z14Z13Z12Z11Z10Z9Z8
BM_16b_Lab483Lab L7L6L5L4L3L2L1L0 L15L14L13L12L11L10L9L8 a7a6a5a4a3a2a1a0 a15a14a13a12a11a10a9a8 b7b6b5b4b3b2b1b0 b15b14b13b12b11b10b9b8
BM_16b_G3CH483321 C37C36C35C34C33C32C31C30 C315C314C313C312C311C310C39C38 C27C26C25C24C23C22C21C20 C215C214C213C212C211C210C29C28 C17C16C15C14C13C12C11C10 C115C114C113C112C111C110C19C18
BM_16b_Yxy483Yxy Y7Y6Y5Y4Y3Y2Y1Y0 Y15Y14Y13Y12Y11Y10Y9Y8 x7x6x5x4x3x2x1x0 x15x14x13x12x11x10x9x8 y7y6y5y4y3y2y1y0 y15y14y13y12y11y10y9y8
BM_7CHANNEL5671234567 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50 C67C66C65C64C63C62C61C60 C77C76C75C74C73C72C71C70
BM_8CHANNEL64812345678 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50 C67C66C65C64C63C62C61C60 C77C76C75C74C73C72C71C70 C87C86C85C84C83C82C81C80
BM_32b_scRGB963BGR
BM_32b_scARGB1283BGRA
BM_S2DOT13FIXED_scRGB483BGR
BM_S2DOT13FIXED_scARGB643BGRA
BM_R10G10B10A2323ABGRA7A6B5B4B3B2B1B0B7B6B5B4G3G2G1G0G7G6G5G4G3G2R1R0R7R6R5R4R3R2R1R0
BM_R10G10B10A2_XR323ABGRA7A6B5B4B3B2B1B0B7B6B5B4G3G2G1G0G7G6G5G4G3G2R1R0R7R6R5R4R3R2R1R0
BM_R16G16B16A16_FLOAT643RGBAR7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0G7G6G5G4G3G2G1G0G7G6G5G4G3G2G1G0B7B6B5B4B3B2B1B0B7B6B5B4B3B2B1B0A7A6A5A4A3A2A1A0A7A6A5A4A3A2A1A0

 

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Icm.h

 

 

Community Additions

Show:
© 2014 Microsoft