Enumeración BMFORMAT (icm.h)

Los valores del tipo enumerado BMFORMAT se usan en varias funciones WCS para indicar el formato en el que se encuentran mapas de bits concretos.

Syntax

typedef enum {
  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;

Constantes

 
BM_x555RGB
Valor: 0x0000
16 bits por píxel. Espacio de colores RGB. 5 bits por canal. Se omite el bit más significativo.
BM_x555XYZ
Valor: 0x0101
16 bits por píxel. Espacio de color XYZ independiente del dispositivo CIE. 5 bits por canal. Se omite el bit más significativo.
BM_x555Yxy
16 bits por píxel. Espacio de color Yxy. 5 bits por canal. Se omite el bit más significativo.
BM_x555Lab
16 bits por píxel. L*a*b espacio de color. 5 bits por canal. Se omite el bit más significativo.
BM_x555G3CH
16 bits por píxel. Espacio de colores G3CH. 5 bits por canal. Se omite el bit más significativo.
BM_RGBTRIPLETS
Valor: 0x0002
24 bits por píxel máximo. Para tres colores de canal, como Rojo, Verde, Azul, el tamaño total es de 24 bits por píxel. En el caso de los colores de un solo canal, como gris, el tamaño total es de 8 bits por píxel.
BM_BGRTRIPLETS
Valor: 0x0004
24 bits por píxel máximo. Para tres colores de canal, como Rojo, Verde, Azul, el tamaño total es de 24 bits por píxel. En el caso de los colores de un solo canal, como gris, el tamaño total es de 8 bits por píxel.
BM_XYZTRIPLETS
Valor: 0x0201
24 bits por píxel máximo. Para tres valores de canal, X, Y y Z, el tamaño total es de 24 bits por píxel. Para la escala de grises de canal único, el tamaño total es de 8 bits por píxel.

Nota

La función TranslateBitmapBits no admite BM_XYZTRIPLETS como entrada.

BM_YxyTRIPLETS
24 bits por píxel máximo. Para tres valores de canal, Y, x e y, el tamaño total es de 24 bits por píxel. Para la escala de grises de canal único, el tamaño total es de 8 bits por píxel.

Nota

La función TranslateBitmapBits no admite BM_YxyTRIPLETS como entrada.

BM_LabTRIPLETS
24 bits por píxel máximo. Para tres valores de canal, L, a y b, el tamaño total es de 24 bits por píxel. Para la escala de grises de canal único, el tamaño total es de 8 bits por píxel.
BM_G3CHTRIPLETS
24 bits por píxel máximo. Para tres valores de canal, el tamaño total es de 24 bits por píxel. Para la escala de grises de canal único, el tamaño total es de 8 bits por píxel.
BM_5CHANNEL
40 bits por píxel. Se usan 8 bits para cada canal.
BM_6CHANNEL
48 bits por píxel. Se usan 8 bits para cada canal.
BM_7CHANNEL
56 bits por píxel. Se usan 8 bits para cada canal.
BM_8CHANNEL
64 bits por píxel. Se usan 8 bits para cada canal.
BM_GRAY
32 bits por píxel. Solo se usa el valor de escala gris de 8 bits.
BM_xRGBQUADS
Valor: 0x0008
32 bits por píxel. Se usan 8 bits para cada canal de color. Se omite el byte más significativo.
BM_xBGRQUADS
Valor: 0x0010
32 bits por píxel. Se usan 8 bits para cada canal de color. Se omite el byte más significativo.
BM_xG3CHQUADS
Valor: 0x0304
32 bits por píxel. Se usan 8 bits para cada canal de color. Se omite el byte más significativo.
BM_KYMCQUADS
32 bits por píxel. Se usan 8 bits para cada canal de color.
BM_CMYKQUADS
Valor: 0x0020
32 bits por píxel. Se usan 8 bits para cada canal de color.
BM_10b_RGB
Valor: 0x0009
32 bits por píxel. Se usan 10 bits para cada canal de color. Se omiten los 2 bits más significativos.
BM_10b_XYZ
Valor: 0x0401
32 bits por píxel. Se usan 10 bits para cada canal de color. Se omiten los 2 bits más significativos.
BM_10b_Yxy
32 bits por píxel. Se usan 10 bits para cada canal de color. Se omiten los 2 bits más significativos.
BM_10b_Lab
32 bits por píxel. Se usan 10 bits para cada canal de color. Se omiten los 2 bits más significativos.
BM_10b_G3CH
32 bits por píxel. Se usan 10 bits para cada canal de color. Se omiten los 2 bits más significativos.
BM_NAMED_INDEX
32 bits por píxel. Índices de color con nombre. La numeración de índice comienza en 1.
BM_16b_RGB
Valor: 0x000A
48 bits por píxel. Cada canal usa 16 bits.
BM_16b_XYZ
Valor: 0x0501
48 bits por píxel. Cada canal usa 16 bits.
BM_16b_Yxy
48 bits por píxel. Cada canal usa 16 bits.
BM_16b_Lab
48 bits por píxel. Cada canal usa 16 bits.
BM_16b_G3CH
48 bits por píxel. Cada canal usa 16 bits.
BM_16b_GRAY
16 bits por píxel.
BM_565RGB
Valor: 0x0001
16 bits por píxel. Se usan 5 bits para rojo, 6 para verde y 5 para azul.
BM_32b_scRGB
Valor: 0x0601
96 bits por píxel, 32 bits por punto flotante IEEE de canal.
BM_32b_scARGB
Valor: 0x0602
128 bits por píxel, 32 bits por punto flotante IEEE de canal.
BM_S2DOT13FIXED_scRGB
Valor: 0x0603
48 bits por píxel, entero de punto fijo comprendido entre -4 y +4 con un exponente de signo y 2 bits y mantisa de 13 bits.
BM_S2DOT13FIXED_scARGB
Valor: 0x0604
64 bits por píxel, entero de punto fijo comprendido entre -4 y +4 con un exponente de signo y 2 bits y mantisa de 13 bits.
BM_R10G10B10A2
Valor: 0x0701
32 bits por píxel. Se usan 10 bits para cada canal de color. Los dos bits más significativos son alfa.
BM_R10G10B10A2_XR
Valor: 0x0702
32 bits por píxel. Se usan 10 bits para cada canal de color. Los 10 bits de cada canal de color son 2,8 puntos fijos con un sesgo -0,75, lo que proporciona un intervalo de [-0,76 .". 1.25]. Este intervalo corresponde a [-0.5 .. 1,5] en un gamma = 1 espacio. Los dos bits más significativos se conservan para alfa.

Esto usa un espacio de colores sRGB de rango extendido (XR). Tiene las mismas primarias RGB, punto blanco y gamma que sRGB.
BM_R16G16B16A16_FLOAT
Valor: 0x0703
64 bits por píxel. Cada canal es un float de 16 bits. La última PALABRA es alfa.

Comentarios

Tabla de formatos de mapa de bits

En la tabla siguiente se muestra, para cada uno de los formatos, el número de bits por píxel, el número de canales, el orden de los canales y la estructura bit a bit de cada byte. Es posible que tenga que desplazarse a la derecha para ver todas las columnas de la tabla.

Formato Bits por píxel Número de canales Ordenación de canales Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
BM_GRAY 8 1 K7K6K5K4K3K2K1K0
BM_565RGB 16 3 BGR G2G1G0B4B3B2B1B0 R4R3R2R1R0G5G4G3
BM_x555RGB 16 3 BGR G2G1G0B4B3B2B1B0 xR4R3R2R1R0G4G3
BM_x555XYZ 16 3 ZYX Y2Y1Y0Z4Z3Z2Z1Z0 xX4X3X2X1X0Y4Y3
BM_x555Yxy 16 3 Yxy x2x1x0y4y3y2y1y0 xY4Y3Y2Y1Y0x4x3
BM_x555Lab 16 3 Bal a2a1a0b4b3b2b1b0 xL4L3L2L1L0a4a3
BM_x555G3CH 16 3 123 xC14C13C12C11C10C24C23 C22C21C20C34C33C32C31C30
BM_16b_GRAY 16 1 K K7K6K5K4K3K2K1K0 K15K14K13K12K11K10K9K8
BM_RGBTRIPLETS 24 3 BGR B7B6B5B4B3B2B1B0 G7G6G5G4G3G2G1G0 R7R6R5R4R3R2R1R0
BM_BGRTRIPLETS 24 3 RGB R7R6R5R4R3R2R1R0 G7G6G5G4G3G2G1G0 B7B6B5B4B3B2B1B0
BM_XYZTRIPLETS 24 3 XYZ X7X6X5X4X3X2X1X0 Y7Y6Y5Y4Y3Y2Y1Y0 Z7Z6Z5Z4Z3Z2Z1Z0
BM_YxyTRIPLETS 24 3 Yxy Y7Y6Y5Y4Y3Y2Y1Y0 x7x6x5x4x3x2x1x0 y7y6y5y4y3y2y1y0
BM_LabTRIPLETS 24 3 Laboratorio L7L6L5L4L3L2L1L0 a7a6a5a4a3a2a1a0 b7b6b5b4b3b2b1b0
BM_G3CHTRIPLETS 24 3 123 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30
BM_xRGBQUADS 32 3 BGRx B7B6B5B4B3B2B1B0 G7G6G5G4G3G2G1G0 R7R6R5R4R3R2R1R0 Xxxxxxxx
BM_xBGRQUADS 32 3 RGBx R7R6R5R4R3R2R1R0 G7G6G5G4G3G2G1G0 B7B6B5B4B3B2B1B0 Xxxxxxxx
BM_xG3CHQUADS 32 3 123 x C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 Xxxxxxxx
BM_CMYKQUADS 32 4 KYMC K7K6K5K4K3K2K1K0 Y7Y6Y5Y4Y3Y2Y1Y0 M7M6M5M4M3M2M1M0 C7C6C5C4C3C2C1C0
BM_KYMCQUADS 32 4 CMYK C7C6C5C4C3C2C1C0 M7M6M5M4M3M2M1M0 Y7Y6Y5Y4Y3Y2Y1Y0 K7K6K5K4K3K2K1K0
BM_10b_RGB 32 3 BGR B7B6B5B4B3B2B1B0 G5G4G3G2G1G0B9B8 R3R2R1R0G9G8G7G6 xxR9R8R7R6R5R4
BM_10b_XYZ 32 3 ZYX Z7Z6Z5Z4Z3Z2Z1Z0 Y5Y4Y3Y2Y1Y0Z9Z8 X3X2X1X0Y9Y8Y7Y6 xxX9X8X7X6X5X4
BM_10b_Yxy 32 3 Yxy y7y6y5y4y3y2y1y0 x5x4x3x2x1x0y9y8 Y3Y2Y1Y0x9x8x7x6 xxY9Y8Y7Y6Y5Y4
BM_10b_Lab 32 3 Bal b7b6b5b4b3b2b1b0 a5a4a3a2a1a0b9b8 L3L2L1L0a9a8a7a6 xxL9L8L7L6L5L4
BM_10b_G3CH 32 3 321 C37C36C35C34C33C32C31C30 C25C24C23C22C21C20C39C38 C13C12C11C10C29C28C27C26 xxC19C18C17C16C15C14
BM_NAMED_INDEX 32 n7n6n5n4n3n2n1n0 n15n14n13n12n11n10n9n8 n23n22n21n20n19n18n17n16 n31n30n29n28n27n26n25n24
BM_5CHANNEL 40 5 12345 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50
BM_6CHANNEL 48 6 123456 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50 C67C66C65C64C63C62C61C60
BM_16b_RGB 48 3 RGB R7R6R5R4R3R2R1R0 R15R14R13R12R11R10R9R8 G7G6G5G4G3G2G1G0 G15G14G13G12G11G10G9G8 B7B6B5B4B3B2B1B0 B15B14B13B12B11B10B9B8
BM_16b_XYZ 48 3 XYZ X7X6X5X4X3X2X1X0 X15X14X13X12X11X10X9X8 Y7Y6Y5Y4Y3Y2Y1Y0 Y15Y14Y13Y12Y11Y10Y9Y8 Z7Z6Z5Z4Z3Z2Z1Z0 Z15Z14Z13Z12Z11Z10Z9Z8
BM_16b_Lab 48 3 Laboratorio L7L6L5L4L3L2L1L0 L15L14L13L12L11L10L9L8 a7a6a5a4a3a2a1a0 a15a14a13a12a11a10a9a8 b7b6b5b4b3b2b1b0 b15b14b13b12b11b10b9b8
BM_16b_G3CH 48 3 321 C37C36C35C34C33C32C31C30 C315C314C313C312C311C310C39C38 C27C26C25C24C23C22C21C20 C215C214C213C212C211C210C29C28 C17C16C15C14C13C12C11C10 C115C114C113C112C111C110C19C18
BM_16b_Yxy 48 3 Yxy Y7Y6Y5Y4Y3Y2Y1Y0 Y15Y14Y13Y12Y11Y10Y9Y8 x7x6x5x4x3x2x1x0 x15x14x13x12x11x10x9x8 y7y6y5y4y3y2y1y0 y15y14y13y12y11y10y9y8
BM_7CHANNEL 56 7 1234567 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50 C67C66C65C64C63C62C61C60 C77C76C75C74C73C72C71C70
BM_8CHANNEL 64 8 12345678 C17C16C15C14C13C12C11C10 C27C26C25C24C23C22C21C20 C37C36C35C34C33C32C31C30 C47C46C45C44C43C42C41C40 C57C56C55C54C53C52C51C50 C67C66C65C64C63C62C61C60 C77C76C75C74C73C72C71C70 C87C86C85C84C83C82C81C80
BM_32b_scRGB 96 3 BGR
BM_32b_scARGB 128 3 BGRA
BM_S2DOT13FIXED_scRGB 48 3 BGR
BM_S2DOT13FIXED_scARGB 64 3 BGRA
BM_R10G10B10A2 32 3 ABGR A7A6B5B4B3B2B1B0 B7B6B5B4G3G2G1G0 G7G6G5G4G3G2R1R0 R7R6R5R4R3R2R1R0
BM_R10G10B10A2_XR 32 3 ABGR A7A6B5B4B3B2B1B0 B7B6B5B4G3G2G1G0 G7G6G5G4G3G2R1R0 R7R6R5R4R3R2R1R0
BM_R16G16B16A16_FLOAT 64 3 RGBA R7R6R5R4R3R2R1R0 R7R6R5R4R3R2R1R0 G7G6G5G4G3G2G1G0 G7G6G5G4G3G2G1G0 B7B6B5B4B3B2B1B0 B7B6B5B4B3B2B1B0 A7A6A5A4A3A2A1A0 A7A6A5A4A3A2A1A0

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado icm.h