Enumerazione BMFORMAT (icm.h)
I valori del tipo enumerato BMFORMAT vengono usati da diverse funzioni WCS per indicare il formato in cui si trovano le bitmap specifiche.
Sintassi
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;
Costanti
BM_x555RGB Valore: 0x0000 16 bit per pixel. Spazio dei colori RGB. 5 bit per canale. Il bit più significativo viene ignorato. |
BM_x555XYZ Valore: 0x0101 16 bit per pixel. Spazio dei colori XYZ indipendente dal dispositivo CIE. 5 bit per canale. Il bit più significativo viene ignorato. |
BM_x555Yxy 16 bit per pixel. Spazio dei colori Yxy. 5 bit per canale. Il bit più significativo viene ignorato. |
BM_x555Lab 16 bit per pixel. L*a*b spazio dei colori. 5 bit per canale. Il bit più significativo viene ignorato. |
BM_x555G3CH 16 bit per pixel. Spazio dei colori G3CH. 5 bit per canale. Il bit più significativo viene ignorato. |
BM_RGBTRIPLETS Valore: 0x0002 24 bit al massimo di pixel. Per tre colori del canale, ad esempio Rosso, Verde, Blu, la dimensione totale è di 24 bit per pixel. Per i colori del canale singolo, ad esempio grigio, la dimensione totale è di 8 bit per pixel. |
BM_BGRTRIPLETS Valore: 0x0004 24 bit al massimo di pixel. Per tre colori del canale, ad esempio Rosso, Verde, Blu, la dimensione totale è di 24 bit per pixel. Per i colori del canale singolo, ad esempio grigio, la dimensione totale è di 8 bit per pixel. |
BM_XYZTRIPLETS Valore: 0x0201 24 bit al massimo di pixel. Per tre canali, valori X, Y e Z, la dimensione totale è di 24 bit per pixel. Per la scala grigia del canale singolo, la dimensione totale è di 8 bit per pixel. NOTA La funzione TranslateBitmapBits non supporta BM_XYZTRIPLETS come input. |
BM_YxyTRIPLETS 24 bit al massimo di pixel. Per tre canali, Y, x e y, la dimensione totale è di 24 bit per pixel. Per la scala grigia del canale singolo, la dimensione totale è di 8 bit per pixel. NOTA La funzione TranslateBitmapBits non supporta BM_YxyTRIPLETS come input. |
BM_LabTRIPLETS 24 bit al massimo di pixel. Per tre canali, L, a e b, la dimensione totale è di 24 bit per pixel. Per la scala grigia del canale singolo, la dimensione totale è di 8 bit per pixel. |
BM_G3CHTRIPLETS 24 bit al massimo di pixel. Per tre valori del canale, la dimensione totale è di 24 bit per pixel. Per la scala grigia del canale singolo, la dimensione totale è di 8 bit per pixel. |
BM_5CHANNEL 40 bit per pixel. Per ogni canale vengono usati 8 bit. |
BM_6CHANNEL 48 bit per pixel. Per ogni canale vengono usati 8 bit. |
BM_7CHANNEL 56 bit per pixel. Per ogni canale vengono usati 8 bit. |
BM_8CHANNEL 64 bit per pixel. Per ogni canale vengono usati 8 bit. |
BM_GRAY 32 bit per pixel. Viene usato solo il valore di scala grigia a 8 bit. |
BM_xRGBQUADS Valore: 0x0008 32 bit per pixel. Vengono usati 8 bit per ogni canale di colore. Il byte più significativo viene ignorato. |
BM_xBGRQUADS Valore: 0x0010 32 bit per pixel. Vengono usati 8 bit per ogni canale di colore. Il byte più significativo viene ignorato. |
BM_xG3CHQUADS Valore: 0x0304 32 bit per pixel. Vengono usati 8 bit per ogni canale di colore. Il byte più significativo viene ignorato. |
BM_KYMCQUADS 32 bit per pixel. Vengono usati 8 bit per ogni canale di colore. |
BM_CMYKQUADS Valore: 0x0020 32 bit per pixel. Vengono usati 8 bit per ogni canale di colore. |
BM_10b_RGB Valore: 0x0009 32 bit per pixel. Per ogni canale di colore vengono usati 10 bit. I 2 bit più significativi vengono ignorati. |
BM_10b_XYZ Valore: 0x0401 32 bit per pixel. Per ogni canale di colore vengono usati 10 bit. I 2 bit più significativi vengono ignorati. |
BM_10b_Yxy 32 bit per pixel. Per ogni canale di colore vengono usati 10 bit. I 2 bit più significativi vengono ignorati. |
BM_10b_Lab 32 bit per pixel. Per ogni canale di colore vengono usati 10 bit. I 2 bit più significativi vengono ignorati. |
BM_10b_G3CH 32 bit per pixel. Per ogni canale di colore vengono usati 10 bit. I 2 bit più significativi vengono ignorati. |
BM_NAMED_INDEX 32 bit per pixel. Indici di colore denominati. Il numero di indice inizia a 1. |
BM_16b_RGB Valore: 0x000A 48 bit per pixel. Ogni canale usa 16 bit. |
BM_16b_XYZ Valore: 0x0501 48 bit per pixel. Ogni canale usa 16 bit. |
BM_16b_Yxy 48 bit per pixel. Ogni canale usa 16 bit. |
BM_16b_Lab 48 bit per pixel. Ogni canale usa 16 bit. |
BM_16b_G3CH 48 bit per pixel. Ogni canale usa 16 bit. |
BM_16b_GRAY 16 bit per pixel. |
BM_565RGB Valore: 0x0001 16 bit per pixel. 5 bit vengono usati per rosso, 6 per verde e 5 per blu. |
BM_32b_scRGB Valore: 0x0601 96 bit per pixel, 32 bit per ogni canale a virgola mobile IEEE. |
BM_32b_scARGB Valore: 0x0602 128 bit per pixel, 32 bit per canale a virgola mobile IEEE. |
BM_S2DOT13FIXED_scRGB Valore: 0x0603 48 bit per pixel, intero a virgola fissa compreso tra -4 e +4 con un segno e un esponente a 2 bit e mantissa a 13 bit. |
BM_S2DOT13FIXED_scARGB Valore: 0x0604 64 bit per pixel, intero a virgola fissa compreso tra -4 e +4 con un segno e un esponente a 2 bit e una mantissa a 13 bit. |
BM_R10G10B10A2 Valore: 0x0701 32 bit per pixel. Per ogni canale di colore vengono usati 10 bit. I due bit più significativi sono alfa. |
BM_R10G10B10A2_XR Valore: 0x0702 32 bit per pixel. Per ogni canale di colore vengono usati 10 bit. I 10 bit di ogni canale di colore sono 2,8 punti fissi con un bias -0,75, dando un intervallo di [-0,76 .. 1.25]. Questo intervallo corrisponde a [-0.5 .. 1,5] in uno spazio gamma = 1. I due bit più significativi vengono conservati per alfa. In questo modo viene usato uno spazio a colori SRGB (Extended Range) sRGB. Ha le stesse primarie RGB, il punto bianco e gamma di sRGB. |
BM_R16G16B16A16_FLOAT Valore: 0x0703 64 bit per pixel. Ogni canale è un float a 16 bit. L'ultima PAROLA è alfa. |
Commenti
Tabella dei formati bitmap
La tabella seguente mostra, per ogni formato, il numero di bit per pixel, il numero di canali, l'ordine dei canali e la struttura bit-by-bit di ogni byte. Potrebbe essere necessario scorrere verso destra per visualizzare tutte le colonne della tabella.
Formato | Bit per pixel | Numero di canali | Ordinamento del canale | 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 | xC14C13C12C1C1C10C24C23 | 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 | Lab | 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 | xxX9X8X7X6X5X5X4 | ||||
BM_10b_Yxy | 32 | 3 | Yxy | y7y6y5y4y3y2y1y0 | x5x4x3x2x1x0y9y8 | Y3Y2Y1Y0x9x8x7x6 | xxY9Y8Y7Y6Y5Y5Y4 | ||||
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 | n15n14n13n12n1n10n9n8 | n23n2n2n21n20n19n18n17n16 | 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 | Lab | 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 |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | icm.h |