Compartilhar via


Enumeração BMFORMAT (icm.h)

Os valores do tipo enumerado BMFORMAT são usados por várias funções WCS para indicar o formato em que bitmaps específicos estão.

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 pixel. Espaço de cor RGB. 5 bits por canal. O bit mais significativo é ignorado.
BM_x555XYZ
Valor: 0x0101
16 bits por pixel. Espaço de cor XYZ independente do dispositivo CIE. 5 bits por canal. O bit mais significativo é ignorado.
BM_x555Yxy
16 bits por pixel. Espaço de cor Yxy. 5 bits por canal. O bit mais significativo é ignorado.
BM_x555Lab
16 bits por pixel. Espaço em cores L*a*b. 5 bits por canal. O bit mais significativo é ignorado.
BM_x555G3CH
16 bits por pixel. Espaço de cor G3CH. 5 bits por canal. O bit mais significativo é ignorado.
BM_RGBTRIPLETS
Valor: 0x0002
Máximo de 24 bits por pixel. Para três cores de canal, como Vermelho, Verde, Azul, o tamanho total é de 24 bits por pixel. Para cores de canal único, como cinza, o tamanho total é de 8 bits por pixel.
BM_BGRTRIPLETS
Valor: 0x0004
Máximo de 24 bits por pixel. Para três cores de canal, como Vermelho, Verde, Azul, o tamanho total é de 24 bits por pixel. Para cores de canal único, como cinza, o tamanho total é de 8 bits por pixel.
BM_XYZTRIPLETS
Valor: 0x0201
Máximo de 24 bits por pixel. Para os valores de três canais, X, Y e Z, o tamanho total é de 24 bits por pixel. Para escala cinza de canal único, o tamanho total é de 8 bits por pixel.

OBSERVAÇÃO

A função TranslateBitmapBits não dá suporte a BM_XYZTRIPLETS como entrada.

BM_YxyTRIPLETS
Máximo de 24 bits por pixel. Para três valores de canal, Y, x e y, o tamanho total é de 24 bits por pixel. Para escala cinza de canal único, o tamanho total é de 8 bits por pixel.

OBSERVAÇÃO

A função TranslateBitmapBits não dá suporte a BM_YxyTRIPLETS como entrada.

BM_LabTRIPLETS
Máximo de 24 bits por pixel. Para três valores de canal, L, a e b, o tamanho total é de 24 bits por pixel. Para escala cinza de canal único, o tamanho total é de 8 bits por pixel.
BM_G3CHTRIPLETS
Máximo de 24 bits por pixel. Para três valores de canal, o tamanho total é de 24 bits por pixel. Para escala cinza de canal único, o tamanho total é de 8 bits por pixel.
BM_5CHANNEL
40 bits por pixel. 8 bits cada são usados para cada canal.
BM_6CHANNEL
48 bits por pixel. 8 bits cada são usados para cada canal.
BM_7CHANNEL
56 bits por pixel. 8 bits cada são usados para cada canal.
BM_8CHANNEL
64 bits por pixel. 8 bits cada são usados para cada canal.
BM_GRAY
32 bits por pixel. Somente o valor de escala cinza de 8 bits é usado.
BM_xRGBQUADS
Valor: 0x0008
32 bits por pixel. 8 bits são usados para cada canal de cores. O byte mais significativo é ignorado.
BM_xBGRQUADS
Valor: 0x0010
32 bits por pixel. 8 bits são usados para cada canal de cores. O byte mais significativo é ignorado.
BM_xG3CHQUADS
Valor: 0x0304
32 bits por pixel. 8 bits são usados para cada canal de cores. O byte mais significativo é ignorado.
BM_KYMCQUADS
32 bits por pixel. 8 bits são usados para cada canal de cores.
BM_CMYKQUADS
Valor: 0x0020
32 bits por pixel. 8 bits são usados para cada canal de cores.
BM_10b_RGB
Valor: 0x0009
32 bits por pixel. 10 bits são usados para cada canal de cores. Os dois bits mais significativos são ignorados.
BM_10b_XYZ
Valor: 0x0401
32 bits por pixel. 10 bits são usados para cada canal de cores. Os dois bits mais significativos são ignorados.
BM_10b_Yxy
32 bits por pixel. 10 bits são usados para cada canal de cores. Os dois bits mais significativos são ignorados.
BM_10b_Lab
32 bits por pixel. 10 bits são usados para cada canal de cores. Os dois bits mais significativos são ignorados.
BM_10b_G3CH
32 bits por pixel. 10 bits são usados para cada canal de cores. Os dois bits mais significativos são ignorados.
BM_NAMED_INDEX
32 bits por pixel. Índices de cores nomeados. A numeração de índice começa em 1.
BM_16b_RGB
Valor: 0x000A
48 bits por pixel. Cada canal usa 16 bits.
BM_16b_XYZ
Valor: 0x0501
48 bits por pixel. Cada canal usa 16 bits.
BM_16b_Yxy
48 bits por pixel. Cada canal usa 16 bits.
BM_16b_Lab
48 bits por pixel. Cada canal usa 16 bits.
BM_16b_G3CH
48 bits por pixel. Cada canal usa 16 bits.
BM_16b_GRAY
16 bits por pixel.
BM_565RGB
Valor: 0x0001
16 bits por pixel. 5 bits são usados para vermelho, 6 para verde e 5 para azul.
BM_32b_scRGB
Valor: 0x0601
96 bits por pixel, 32 bits por ponto flutuante IEEE de canal.
BM_32b_scARGB
Valor: 0x0602
128 bits por pixel, 32 bits por ponto flutuante IEEE de canal.
BM_S2DOT13FIXED_scRGB
Valor: 0x0603
48 bits por pixel, Inteiro de ponto fixo variando de -4 a +4 com um bit de sinal e expoente de 2 bits e mantissa de 13 bits.
BM_S2DOT13FIXED_scARGB
Valor: 0x0604
64 bits por pixel, Inteiro de ponto fixo variando de -4 a +4 com um bit de sinal e expoente de 2 bits e mantissa de 13 bits.
BM_R10G10B10A2
Valor: 0x0701
32 bits por pixel. 10 bits são usados para cada canal de cores. Os dois bits mais significativos são alfa.
BM_R10G10B10A2_XR
Valor: 0x0702
32 bits por pixel. 10 bits são usados para cada canal de cores. Os 10 bits de cada canal de cores são 2,8 pontos fixos com um viés -0,75, dando um intervalo de [-0,76 .. 1.25]. Esse intervalo corresponde a [-0,5 .. 1,5] em um gama = 1 espaço. Os dois bits mais significativos são preservados para alfa.

Isso usa um espaço de cor SRGB de intervalo estendido (XR). Ele tem as mesmas primárias RGB, ponto branco e gama que sRGB.
BM_R16G16B16A16_FLOAT
Valor: 0x0703
64 bits por pixel. Cada canal é um float de 16 bits. O último WORD é alfa.

Comentários

Tabela de formatos de bitmap

A tabela a seguir mostra, para cada um dos formatos, o número de bits por pixel, o número de canais, a ordem dos canais e a estrutura bit a bit de cada byte. Talvez seja necessário rolar para a direita para ver todas as colunas da tabela.

Formatar Bits por Pixel Número de canais Ordenação de Canal 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 Laboratório 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 123x 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 Laboratório 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 Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho icm.h