Перечисление BMFORMAT (icm.h)
Значения перечисленного типа BMFORMAT используются несколькими функциями WCS для указания формата, в который находятся определенные растровые изображения.
Синтаксис
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;
Константы
BM_x555RGB Значение: 0x0000 16 бит на пиксель. Цветовое пространство RGB. 5 бит на канал. Самый значительный бит игнорируется. |
BM_x555XYZ Значение: 0x0101 16 бит на пиксель. Цветовое пространство XYZ, независимое от устройства CIE. 5 бит на канал. Самый значительный бит игнорируется. |
BM_x555Yxy 16 бит на пиксель. Цветовое пространство Yxy. 5 бит на канал. Самый значительный бит игнорируется. |
BM_x555Lab 16 бит на пиксель. Цветовое пространство L*a*b. 5 бит на канал. Самый значительный бит игнорируется. |
BM_x555G3CH 16 бит на пиксель. Цветовое пространство G3CH. 5 бит на канал. Самый значительный бит игнорируется. |
BM_RGBTRIPLETS Значение: 0x0002 Максимум 24 бита на пиксель. Для трех каналов, таких как красный, зеленый, синий, общий размер составляет 24 бита на пиксель. Для одноканального цвета, например серого, общий размер составляет 8 бит на пиксель. |
BM_BGRTRIPLETS Значение: 0x0004 Максимум 24 бита на пиксель. Для трех каналов, таких как красный, зеленый, синий, общий размер составляет 24 бита на пиксель. Для одноканального цвета, например серого, общий размер составляет 8 бит на пиксель. |
BM_XYZTRIPLETS Значение: 0x0201 Максимум 24 бита на пиксель. Для трех значений канала, X, Y и Z общий размер составляет 24 бита на пиксель. Для одноканальной серой шкалы общий размер составляет 8 бит на пиксель. ПРИМЕЧАНИЕ Функция TranslateBitmapBits не поддерживает BM_XYZTRIPLETS в качестве входных данных. |
BM_YxyTRIPLETS Максимум 24 бита на пиксель. Для трех значений канала, Y, x и y общий размер составляет 24 бита на пиксель. Для одноканальной серой шкалы общий размер составляет 8 бит на пиксель. ПРИМЕЧАНИЕ Функция TranslateBitmapBits не поддерживает BM_YxyTRIPLETS в качестве входных данных. |
BM_LabTRIPLETS Максимум 24 бита на пиксель. Для трех значений канала, L, a и b общий размер составляет 24 бита на пиксель. Для одноканальной серой шкалы общий размер составляет 8 бит на пиксель. |
BM_G3CHTRIPLETS Максимум 24 бита на пиксель. Для трех значений канала общий размер составляет 24 бита на пиксель. Для одноканальной серой шкалы общий размер составляет 8 бит на пиксель. |
BM_5CHANNEL 40 бит на пиксель. Для каждого канала используется по 8 бит за штуку. |
BM_6CHANNEL 48 бит на пиксель. Для каждого канала используется по 8 бит за штуку. |
BM_7CHANNEL 56 бит на пиксель. Для каждого канала используется по 8 бит за штуку. |
BM_8CHANNEL 64 бита на пиксель. Для каждого канала используется по 8 бит за штуку. |
BM_GRAY 32 бита на пиксель. Используется только 8-битовое значение серого масштаба. |
BM_xRGBQUADS Значение: 0x0008 32 бита на пиксель. Для каждого канала цвета используется 8 бит. Самый значительный байт игнорируется. |
BM_xBGRQUADS Значение: 0x0010 32 бита на пиксель. Для каждого канала цвета используется 8 бит. Самый значительный байт игнорируется. |
BM_xG3CHQUADS Значение: 0x0304 32 бита на пиксель. Для каждого канала цвета используется 8 бит. Самый значительный байт игнорируется. |
BM_KYMCQUADS 32 бита на пиксель. Для каждого канала цвета используется 8 бит. |
BM_CMYKQUADS Значение: 0x0020 32 бита на пиксель. Для каждого канала цвета используется 8 бит. |
BM_10b_RGB Значение: 0x0009 32 бита на пиксель. Для каждого канала цвета используется 10 бит. 2 наиболее важных бита игнорируются. |
BM_10b_XYZ Значение: 0x0401 32 бита на пиксель. Для каждого канала цвета используется 10 бит. 2 наиболее важных бита игнорируются. |
BM_10b_Yxy 32 бита на пиксель. Для каждого канала цвета используется 10 бит. 2 наиболее важных бита игнорируются. |
BM_10b_Lab 32 бита на пиксель. Для каждого канала цвета используется 10 бит. 2 наиболее важных бита игнорируются. |
BM_10b_G3CH 32 бита на пиксель. Для каждого канала цвета используется 10 бит. 2 наиболее важных бита игнорируются. |
BM_NAMED_INDEX 32 бита на пиксель. Индексы именованных цветов. Нумерация индексов начинается с 1. |
BM_16b_RGB Значение: 0x000A 48 бит на пиксель. Каждый канал использует 16 бит. |
BM_16b_XYZ Значение: 0x0501 48 бит на пиксель. Каждый канал использует 16 бит. |
BM_16b_Yxy 48 бит на пиксель. Каждый канал использует 16 бит. |
BM_16b_Lab 48 бит на пиксель. Каждый канал использует 16 бит. |
BM_16b_G3CH 48 бит на пиксель. Каждый канал использует 16 бит. |
BM_16b_GRAY 16 бит на пиксель. |
BM_565RGB Значение: 0x0001 16 бит на пиксель. 5 битов используются для красного, 6 для зеленого и 5 для синего. |
BM_32b_scRGB Значение: 0x0601 96 бит на пиксель, 32 бита на канал с плавающей запятой IEEE. |
BM_32b_scARGB Значение: 0x0602 128 бит на пиксель, 32 бита на канал с плавающей запятой IEEE. |
BM_S2DOT13FIXED_scRGB Значение: 0x0603 48 бит на пиксель, фиксированное целое число точек в диапазоне от -4 до +4 со знаком бита и 2-разрядной экспоненты и 13-разрядной мантиссы. |
BM_S2DOT13FIXED_scARGB Значение: 0x0604 64 бита на пиксель, фиксированное целое число в диапазоне от -4 до +4 со знаком бита и 2 битовой экспоненты и 13-разрядной мантиссы. |
BM_R10G10B10A2 Значение: 0x0701 32 бита на пиксель. Для каждого канала цвета используется 10 бит. Два наиболее значимых бита — альфа. |
BM_R10G10B10A2_XR Значение: 0x0702 32 бита на пиксель. Для каждого канала цвета используется 10 бит. 10 бит каждого канала цвета представляют собой фиксированную точку 2,8 с смещением -0,75, что дает диапазон [-0,76 .. 1.25]. Этот диапазон соответствует [-0,5 .. 1,5] в гамма=1 пространстве. Два наиболее важных бита сохраняются для альфа-канала. Для этого используется цветовое пространство sRGB в расширенном диапазоне (XR). Он имеет те же основные элементы RGB, белую точку и гамма, что и sRGB. |
BM_R16G16B16A16_FLOAT Значение: 0x0703 64 бита на пиксель. Каждый канал является 16-разрядным с плавающей точкой. Последнее слово WORD — альфа. |
Комментарии
Таблица форматов растровых рисунков
В следующей таблице показано для каждого из форматов количество битов на пиксель, количество каналов, порядок каналов и побитовая структура каждого байта. Возможно, потребуется прокрутить вправо, чтобы увидеть все столбцы таблицы.
Формат | Бит на пиксель | Количество каналов | Упорядочение каналов | Байт 0 | Байт 1 | Байт 2 | Байт 3 | Байт 4 | Байт 5 | Байт 6 | Байт 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 | Лаборатория | 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 | Лаборатория | 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 |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | icm.h |