Обзор форматов собственных пикселей

В этом разделе представлены форматы пикселей, предоставляемые компонентом образов Windows (WIC).

Формат пикселя описывает макет памяти каждого пикселя в растровом рисунке. Этот макет памяти описывает, как данные изображения растрового изображения кодируются путем указания числового формата и организации канала цвета. WIC поддерживает несколько числовых форматов для нескольких схем организации канала цвета, предоставляя широкий спектр форматов пикселей.

глубину в битах.

Битовая глубина — это количество битов, используемых для кодирования каждого канала цвета. Сегодня большинство цифровых изображений используют битовую глубину 8, что означает, что каждый канал цвета в пикселе представлен 8 битами, предоставляя 2⁸ (256) уникальные значения на канал. Изображение с битовой глубиной 8 и трех цветовых каналов (таких как красный, зеленый и синий) использует 24 бита на пиксель (bpp), что обеспечивает 2 2 ⁴ (16 777 216) разных цветов на пиксель.

Для лучшего разрешения цветов можно использовать битовую глубину 16 или 32. Это обеспечивает каждый канал цвета с 2⁶ (6555 536) или 2 каждое уникальное значение 2⁶ по цене больше памяти на пиксель.

В некоторых форматах битовая глубина не является несколькими из 8. Эти форматы называются упакованными форматами, так как цветовые каналы в пикселе не выровнены по границам байтов. Например, если битовая глубина 5, три цветовых канала могут храниться в 16 битах (включая 1 бит заливки, чтобы сделать пиксели выровненными по байтам). Упакованные форматы полезны, если объем памяти или мощности обработки ограничен.

Числовая кодировка

Для большинства современных цифровых изображений без знака и неподписанных коротких целых чисел используются для описания числового диапазона каждого канала цветов. Минимальное значение (0) представляет нулевую интенсивность в одном канале цвета, а черное достигается, когда все каналы цвета равны нулю. Аналогичным образом максимальное значение представляет полную интенсивность, и белый достигается, когда все цветовые каналы находятся в полной интенсивности. В битовой глубине 8 UINT предоставляет 256 уникальных значений для каждого канала цвета (от 0 до 255). 16-разрядная UINT предоставляет 65 536 уникальных значений для каждого канала цвета (0 – 65 535).

Кроме того, WIC поддерживает форматы с фиксированной точкой и плавающей запятой. Эти форматы поддерживают более крупные динамические диапазоны, так как весь числовый диапазон каждого канала цвета превышает видимый диапазон. В результате цвета можно настроить выше или ниже видимого диапазона во время промежуточных шагов обработки изображений без потери сведений о изображении.

Числовая кодировка фиксированной точки

16-разрядные значения фиксированной точки интерпретируются как s2.13: бит знака, два целочисленных бита и тринадцать дробных битов. С помощью этой интерпретации числовой диапазон от –4,0 до +3,999... может быть представлено значением 1.0, представленным целочисленным значением со знаком 8192 (0x2000).

32-разрядные значения фиксированной точки интерпретируются как s7.24: бит знака, семь целых битов и двадцать четыре дробных бита. С помощью этой интерпретации числовой диапазон от –128,0 до +127,999... может быть представлено значением 1.0, представленным 16777216 со знаком целочисленным значением (0x01000000).

Цветовые каналы

Цветовые каналы формата пикселя определяют макет памяти каждого цвета в данных изображения растрового изображения. Существует множество различных структур цветового канала, распространенных в современных цифровых изображениях, и WIC обеспечивает поддержку для многих из них.

Цветовая модель RGB/BGR

Форматы RGB и BGR описывают цвета в аддитивной цветовой модели. Наиболее распространенный метод описания изображения состоит из трех отдельных каналов цвета, представляющих красные цвета (R), зеленый (G) и синий (B). WIC обеспечивает поддержку этих трех каналов в порядке красного зеленого синего (RGB) или сине-зеленого красного цвета (BGR). Это порядок, в котором каждый канал цвета отображается в последовательном битовом потоке. Например, в формате GUID_WICPixelFormat32bppRGB каждый пиксель имеет ширину 32 бита. Красный канал является первым (наименее значимым) байтом в памяти, а затем зеленым, а затем синим. И наоборот, в формате GUID_WICPixelFormat32bppBGR цветовые каналы находятся в противоположном порядке. WIC поддерживает ряд форматов RGB/BGR, включая специальные упакованные битовые форматы, такие как GUID_WICPixelFormat16bppBGR555.

Примечание.

Цветовые каналы специальных форматов битовых форматов BGR не находятся в нескольких из 8, таких как цветовые каналы в типичных форматах пикселей. Это означает, что значения канала не выровнены по байтам. Будьте внимательны при чтении упакованных битовых цветов.

Помимо форматов RGB и BGR, WIC также предоставляет форматы пикселей RGB и BGR, поддерживающие альфа-канал (A). Альфа-канал предоставляет данные о непрозрачности для пикселя. Для форматов с добавленным альфа-каналом альфа-канала альфа-канал обычно выполняется в порядке цветового канала. Например, в формате пикселя GUID_WICPixelFormat32bppBGRA порядок байтов — синий, зеленый и красный, а затем альфа-канал.

WIC также поддерживает предварительно умноженные (P) форматы альфа-rgb-пикселей. В типичном формате пикселей RGBA красные, зеленые и синие значения цветов являются фактическими значениями цвета для изображения. Чтобы сделать составное изображение в стандартном формате RGBA, альфа-значение изображения переднего плана должно быть умножено на каждый из красных, зеленых и синих каналов перед добавлением его в цвет фонового изображения. В предварительно умноженном формате альфа-RGB-пикселей каждый канал цветов уже умножен на альфа-значение. Это обеспечивает более эффективный метод композиции изображений с данными альфа-канала. Чтобы получить истинные значения цвета каждого канала в формате пикселя PRGBA/PBGRA, умножение альфа-канала должно быть обратно путем деления значений цвета на альфа-значение.

Цветовая модель CMYK

CMYK — это подтрактивная цветовая модель, используемая в печати. Цвета, созданные моделью CMYK, создаются светом, который не поглощается, но отражается. CMYK — это модель четырех каналов cyan (C), magenta (M), желтая (Y) и черная (K). Если все четыре цветового канала имеют максимальное значение, результат является черным. Как и в цветовой модели RGB/BGR, порядок байтов в последовательном битовом потоке определяется именем формата пикселей. Например, в формате пикселя GUID_WICPixelFormat32bppCMYK каждый пиксель состоит из 32 битов. Первый байт содержит значение цина, за которым следует в свою очередь тянущееся, желтое и черное. WIC предоставляет форматы пикселей для CMYK в 32 и 64 битах на пиксель (bpp).

Помимо стандартной цветовой модели CMYK, WIC также предоставляет CMYK с альфа-форматом. Это позволяет изображениям CMYK иметь альфа-смешающиеся данные, аналогичные цветовой модели RGB/BGR. Альфа-канал расположен сразу после черного в последовательном битовом потоке растрового изображения.

Цветовая модель n-канала

Для гибкости WIC также предоставляет форматы пикселей, которые не имеют предопределенного порядка канала. WIC предоставляет форматы пикселей, поддерживающие от трех до восьми каналов непрерывных данных изображения в битовых глубинах от 8 до 16. В отличие от форматов пикселей RGB/BGR и CMYK, форматы n-канала не указывают порядок каналов, а количество доступных цветовых каналов. Например, в формате пикселя GUID_WICPixelFormat32bpp4Channels каждый пиксель состоит из 32 битов с каждым из 4 каналов, занимающих один байт.

WIC также предоставляет форматы пикселей для n-канала с альфа-каналом. Это позволяет изображениям n-канала иметь альфа-смешивающие данные, аналогичные цветовой модели RGB/BGR и CMYK. Альфа-канал расположен сразу после последнего канала цвета в последовательном битовом потоке растрового изображения.

Индексированные и серые цветовые модели

Индексированные форматы используют таблицу цветов, называемую палитрой. Палитра хранится вне пиксельных данных или определяется неявно. Значение каждого пикселя в изображении — это индекс в палитре. В индексируемом формате число битов на пиксель напрямую связано с количеством записей в палитре. Это значительно сокращает объем данных, необходимых для представления изображения, но также ограничивает количество цветов, доступных для изображения. WIC поддерживает индексированные форматы с 1, 2, 4 или 8 bpp.

Для форматов монохромного (серого) wiC поддерживает 1, 2, 4, 8, 16 и 32 бита на пиксель. Для битовых глубин 1, 8, 16 и 32 цветовые данные хранятся в одном канале. Для битовых глубин 2 или 4 пиксели индексируются в палитре серого уровня.

Цветовая модель Y'CbCr

WIC добавляет поддержку цветовой модели JPEG JFIF Y'CbCr. Y'CbCr разделяют цвета на компонент luma (Y') и два компонента хрома (Cb и Cr). Многие файлы JPEG изначально хранят данные изображения с помощью цветовой модели Y'CbCr.

Человеческая визуальная система менее чувствительна к изменениям хрома, чем к luma, и форматы Y'CbCr могут воспользоваться этим снижением конфиденциальности, уменьшая объем данных хрома, хранящихся относительно luma. Они делают это, сохраняя chroma и luma в отдельных плоскостях и масштабируя каждый плоскость компонентов до другого разрешения. Эта практика называется подсемплингом хрома.

Так как данные chroma и luma хранятся отдельно и могут быть различными разрешениями, WIC определяет отдельные форматы luma и chroma пикселей. WIC поддерживает данные, которые составляют 8 битов на канал.

Формат пикселей WIC

Форматы пикселей в WIC определяются с помощью идентификаторов GUID, чтобы избежать столкновений с IHV. WIC предоставляет понятное имя для ссылки на GUID собственного формата пикселей. Соглашение об именовании для форматов пикселей WIC выглядит следующим образом:

[GUID_WICPixelFormat] [Биты на пиксель] [Порядок каналов] [тип служба хранилища]

Компонент форматирования Description
GUID_WICPixelFormat Описательная идентификация для всех форматов пикселей WIC. Понятное имя для всех пикселей WIC начинается с этой строки.
Биты на пиксель Количество битов на пиксель (bpp), используемое для формата пикселей.
Порядок каналов Модель цветового канала и порядок каждого канала для формата.
Тип хранилища Числовая кодировка, используемая для формата пикселей. Кодировка по умолчанию — целое число без знака. Если ничего не соответствует сведениям о цветовой модели, подразумевается целое число без знака (UINT). FixedPoint и Float используются для идентификации форматов пикселей, использующих кодировку с фиксированной точкой и плавающей запятой соответственно.

Примечание.

Для форматов n-каналов [Порядок каналов] не указывает порядок цветов, а количество доступных каналов. Например, GUID_WICPixelFormat24bpp3Channels предоставляет 3 цветовых канала, где "3Channels" является записью [Channel Order], но указывает только количество каналов, а не порядок.

Например, понятное имя GUID_WICPixelFormat24bppRGB означает, что формат пикселей использует 24 бита на пиксель и цветовую модель RGB. Поскольку имя явно не определяет тип хранилища, подразумевается целое число без знака.

WIC поддерживает несколько форматов пикселей. Следующие таблицы группировать аналогичные форматы пикселей по цветовой структуре, предоставляя дополнительные сведения, такие как глубина бита, биты на пиксель и числовое кодировка. Каждая таблица содержит следующие сведения:

  • Понятное имя. Понятное имя формата пикселей.
  • Число каналов. Количество цветовых каналов.
  • Биты на канал. Количество битов на канал (битовая глубина).
  • Биты на пиксель. Количество битов на пиксель, включая любые биты заполнения.
  • тип служба хранилища. Числовая кодировка данных изображения. Это значение может быть целым числом без знака (UINT), числом фиксированной точки (FixedPoint) или числом с плавающей запятой (Float).

Примечание.

Для ясности этот документ относится к форматам пикселей только по понятным именам. Фактическое шестнадцатеричное значение для форматов пикселей можно найти в файлах wincodec.h/idl.

Неопределенные форматы пикселей

В следующем списке показаны универсальные форматы пикселей, которые используются, если формат пикселей не определен или не имеет значения для операции изображения.

  • GUID_WICPixelFormatUndefined
  • GUID_WICPixelFormatDontCare

Индексированные форматы пикселей

В следующей таблице перечислены индексированные форматы пикселей, предоставляемые WIC. В этих форматах значение для каждого пикселя представляет собой индекс в цветовую палитру.

Понятное имя Число каналов Бит на пиксель Тип хранилища
GUID_WICPixelFormat1bppIndexed 1 1 UINT
GUID_WICPixelFormat2bppIndexed 1 2 UINT
GUID_WICPixelFormat4bppIndexed 1 4 UINT
GUID_WICPixelFormat8bppIndexed 1 8 UINT

Форматы упакованных бит-пикселей

В следующей таблице перечислены упакованные битовые форматы, предоставляемые WIC. В этих форматах данные канала цвета не выровнены по байтам.

Понятное имя Число каналов Биты на канал Бит на пиксель Тип хранилища
GUID_WICPixelFormat16bppBGR555 3 5 16 UINT
GUID_WICPixelFormat16bppBGR565 3 5(B)/6(G)/5(R) 16 UINT
GUID_WICPixelFormat16bppBGRA555 4 5(B)/5(G)/5(R)/1(A) 16 UINT
GUID_WICPixelFormat32bppBGR101010 3 10 32 UINT
GUID_WICPixelFormat32bppRGBA1010102 4 10(R)/10(G)/10(B)/2(A) 32 UINT
GUID_WICPixelFormat32bppRGBA1010102XR 4 10(R)/10(G)/10(B)/2(A) 32 UINT
GUID_WICPixelFormat32bppR10G10B10A2 4 10(R)/10(G)/10(B)/2(A) 32 UINT
GUID_WICPixelFormat32bppR10G10B10A2HDR10 4 10(R)/10(G)/10(B)/2(A) 32 UINT

Для форматов GUID_WICPixelFormat32bppBGR101010 и GUID_WICPixelFormat32bppRGBA1010102 красный канал хранится в наименее значимых битах. Для форматов GUID_WICPixelFormat32bppR10G10B10A2 и GUID_WICPixelFormat32bppR10G10B10A2HDR10 красный канал определяется в наиболее значимых битах, то же макет, что и DXGI_FORMAT_R10G10B10A2_UNORM.

Формат GUID_WICPixelFormat32bppR10G10B10A2HDR10 — это 10-разрядный формат пикселя для HDR10 (цветовое пространство BT.2020 и SMPTE ST.2084 EOTF).

Форматы пикселей серого уровня

В следующей таблице перечислены форматы серого уровня, предоставляемые WIC. В этих форматах цветовые данные представляют оттенки серого.

Понятное имя Число каналов Биты на канал Бит на пиксель Тип хранилища
GUID_WICPixelFormatBlackWhite 1 1 1 UINT
GUID_WICPixelFormat2bppGray 1 2 2 UINT
GUID_WICPixelFormat4bppGray 1 4 4 UINT
GUID_WICPixelFormat8bppGray 1 8 8 UINT
GUID_WICPixelFormat16bppGray 1 16 16 UINT
GUID_WICPixelFormat16bppGrayFixedPoint 1 16 16 FixedPoint
GUID_WICPixelFormat16bppGrayHalf 1 16 16 Тип с плавающей запятой
GUID_WICPixelFormat32bppGrayFloat 1 32 32 Тип с плавающей запятой
GUID_WICPixelFormat32bppGrayFixedPoint 1 32 32 FixedPoint

Форматы пикселей RGB/BGR

В следующей таблице перечислены форматы RGB/BGR, предоставляемые WIC. Эти форматы разделяют основные данные цвета на красные (R), зеленые (G) и синие (B) каналы. Дополнительный канал альфа-канала (A) предоставляется для сведений о непрозрачности в некоторых форматах.

Понятное имя Число каналов Биты на канал Бит на пиксель Тип хранилища
GUID_WICPixelFormat24bppRGB 3 8 24 UINT
GUID_WICPixelFormat24bppBGR 3 8 24 UINT
GUID_WICPixelFormat32bppBGR 3 8 32 UINT
GUID_WICPixelFormat32bppRGBA 4 8 32 UINT
GUID_WICPixelFormat32bppBGRA 4 8 32 UINT
GUID_WICPixelFormat32bppRGBE* 4 8 32 Тип с плавающей запятой
GUID_WICPixelFormat32bppPRGBA 4 8 32 UINT
GUID_WICPixelFormat32bppPBGRA 4 8 32 UINT
GUID_WICPixelFormat48bppRGB 3 16 48 UINT
GUID_WICPixelFormat48bppBGR 3 16 48 UINT
GUID_WICPixelFormat48bppRGBFixedPoint 3 16 48 Фиксированный
GUID_WICPixelFormat48bppBGRFixedPoint 3 16 48 Фиксированный
GUID_WICPixelFormat48bppRGBHalf 3 16 48 Тип с плавающей запятой
GUID_WICPixelFormat64bppRGBA 4 16 64 UINT
GUID_WICPixelFormat64bppBGRA 4 16 64 UINT
GUID_WICPixelFormat64bppPRGBA 4 16 64 UINT
GUID_WICPixelFormat64bppPBGRA 4 16 64 UINT
GUID_WICPixelFormat64bppRGBFixedPoint 3 16 64 Фиксированный
GUID_WICPixelFormat64bppRGBAFixedPoint 4 16 64 Фиксированный
GUID_WICPixelFormat64bppBGRAFixedPoint 4 16 64 Фиксированный
GUID_WICPixelFormat64bppRGBHalf 3 16 64 Тип с плавающей запятой
GUID_WICPixelFormat64bppRGBAHalf 4 16 64 Тип с плавающей запятой
GUID_WICPixelFormat96bppRGBFixedPoint 3 32 96 Фиксированный
GUID_WICPixelFormat128bppRGBFloat 3 32 128 Тип с плавающей запятой
GUID_WICPixelFormat128bppRGBAFloat 4 32 128 Тип с плавающей запятой
GUID_WICPixelFormat128bppPRGBAFloat 4 32 128 Тип с плавающей запятой
GUID_WICPixelFormat128bppRGBFixedPoint 3 32 128 Фиксированный
GUID_WICPixelFormat128bppRGBAFixedPoint 4 32 128 Фиксированный

Примечание.

*Формат GUID_WICPixelFormat32bppRGBE кодирует три 16-разрядных значения с плавающей запятой в 4 байтах, как показано ниже: три 8-разрядных мантисса без знака для каналов R, G и B, а также общий 8-разрядный экспонент. Этот формат обеспечивает 16-разрядную точность с плавающей запятой в меньшем представлении пикселей.

Начиная с Windows 8 и Центра обновления платформы для Windows 7 WIC предоставляет дополнительные форматы, показанные в таблице.

Понятное имя Число каналов Биты на канал Бит на пиксель Тип хранилища
GUID_WICPixelFormat32bppRGB 3 8 32 UINT
GUID_WICPixelFormat64bppRGB 3 16 64 UINT
GUID_WICPixelFormat96bppRGBFloat 3 32 96 FLOAT
GUID_WICPixelFormat64bppPRGBAHalf 4 16 64 FLOAT

Форматы пикселей CMYK

В следующей таблице перечислены форматы CMYK, предоставляемые WIC. Эти форматы разделяют основные данные цвета на cyan (C), magenta (M), желтые (Y) и черные (K) каналы.

Понятное имя Число каналов Биты на канал Бит на пиксель Тип хранилища
GUID_WICPixelFormat32bppCMYK 4 8 32 UINT
GUID_WICPixelFormat64bppCMYK 4 16 64 UINT
GUID_WICPixelFormat40bppCMYKAlpha 5 8 40 UINT
GUID_WICPixelFormat80bppCMYKAlpha 5 16 80 UINT

Форматы пикселей n-канала

В следующей таблице перечислены форматы n-каналов, предоставляемые WIC. Эти форматы предоставляют ряд неопределенных цветовых каналов для хранения данных изображения.

Понятное имя Число каналов Биты на канал Бит на пиксель Тип хранилища
GUID_WICPixelFormat24bpp3Channels 3 8 24 UINT
GUID_WICPixelFormat48bpp3Channels 3 16 48 UINT
GUID_WICPixelFormat32bpp3ChannelsAlpha 4 8 32 UINT
GUID_WICPixelFormat64bpp3ChannelsAlpha 4 16 64 UINT
GUID_WICPixelFormat32bpp4Channels 4 8 32 UINT
GUID_WICPixelFormat64bpp4Channels 4 16 64 UINT
GUID_WICPixelFormat40bpp4ChannelsAlpha 5 8 40 UINT
GUID_WICPixelFormat80bpp4ChannelsAlpha 5 16 80 UINT
GUID_WICPixelFormat40bpp5Channels 5 8 40 UINT
GUID_WICPixelFormat80bpp5Channels 5 16 80 UINT
GUID_WICPixelFormat48bpp5ChannelsAlpha 6 8 48 UINT
GUID_WICPixelFormat96bpp5ChannelsAlpha 6 16 96 UINT
GUID_WICPixelFormat48bpp6Channels 6 8 48 UINT
GUID_WICPixelFormat96bpp6Channels 6 16 96 UINT
GUID_WICPixelFormat56bpp6ChannelsAlpha 7 8 56 UINT
GUID_WICPixelFormat112bpp6ChannelsAlpha 7 16 112 UINT
GUID_WICPixelFormat56bpp7Channels 7 8 56 UINT
GUID_WICPixelFormat112bpp7Channels 7 16 112 UINT
GUID_WICPixelFormat64bpp7ChannelsAlpha 8 8 64 UINT
GUID_WICPixelFormat128bpp7ChannelsAlpha 8 16 128 UINT
GUID_WICPixelFormat64bpp8Channels 8 8 64 UINT
GUID_WICPixelFormat128bpp8Channels 8 16 128 UINT
GUID_WICPixelFormat72bpp8ChannelsAlpha 9 8 72 UINT
GUID_WICPixelFormat144bpp8ChannelsAlpha 9 16 144 UINT

Форматы пикселей только для альфа-файлов

В следующей таблице перечислены форматы альфа-только, предоставляемые WIC. Этот формат содержит только альфа-данные.

Понятное имя Число каналов Биты на канал Бит на пиксель Тип хранилища
GUID_WICPixelFormat8bppAlpha 1 8 32 UINT

Форматы пикселей Y'CbCr

В следующей таблице перечислены форматы Y'CbCr, предоставляемые WIC. Эти форматы разделяют основные данные цвета на luma (Y), разницу синего хрома (Cb), а также разницу красных хом (Cr). Обратите внимание, что эти форматы предназначены для хранения данных пикселей JPEG JFIF Y'CbCr.

Понятное имя Число каналов Бит на пиксель Тип хранилища
GUID_WICPixelFormat8bppY 1 8 UINT
GUID_WICPixelFormat8bppCb 1 8 UINT
GUID_WICPixelFormat8bppCr 1 8 UINT
GUID_WICPixelFormat16bppCbCr 2 16 UINT

Цветовое пространство

Форматы пикселей сами по себе не имеют цветового пространства. Как правило, цветовое пространство — это семантическая интерпретация значений пикселей, зависящих от контекста растрового изображения. Некоторые изображения определяют контекст цвета, определяющий цветовое пространство изображения. Только в отсутствие контекста цвета следует выводить цветовое пространство.

Сведения о контексте цвета определяются интерфейсом IWICColorContext для WIC. Чтобы получить сведения о контексте цвета для кадра изображения, используйте метод GetColorContext .

В отсутствие сведений о цветовом пространстве для изображения общее правило вывода цветового пространства заключается в том, что форматы ЦВЕТОВого пространства UINT RGB и серого уровня используют стандартное цветовое пространство RGB (sRGB), а форматы RGB и с плавающей запятой и с плавающей запятой используют расширенное цветовое пространство RGB (scRGB). В цветовой модели CMYK используется цветовое пространство RWOP.

Собственные форматы изображений

Каждая из предоставленных кодеков WIC Windows поддерживает подмножество форматов пикселей WIC. Для каждого кодека поддерживаемые форматы декодирования могут отличаться от поддерживаемых форматов кодирования.

При декодировании изображения, если данные изначально хранятся в формате пикселей, который не поддерживается декодером, он будет преобразован в поддерживаемый формат. Чтобы определить формат пикселей вывода, вызовите IWICBitmapFrameDecode::GetPixelFormat.

При кодировании изображения используйте IWICBitmapFrameEncode::SetPixelFormat , чтобы запросить, чтобы кодировщик использовал определенный формат пикселей. Кодировщик возвращает ближайший поддерживаемый формат пикселей, который может отличаться от запрошенного формата.

В следующих таблицах показаны форматы пикселей, поддерживаемые каждым из предоставленных кодеков WIC Windows.

Машинный кодек BMP

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat1bppIndexed GUID_WICPixelFormat1bppIndexed
GUID_WICPixelFormat4bppIndexed GUID_WICPixelFormat4bppIndexed
GUID_WICPixelFormat8bppIndexed GUID_WICPixelFormat8bppIndexed
GUID_WICPixelFormat16bppBGR555 GUID_WICPixelFormat16bppBGR555
GUID_WICPixelFormat16bppBGR565 GUID_WICPixelFormat16bppBGR565
GUID_WICPixelFormat24bppBGR GUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat32bppBGR GUID_WICPixelFormat32bppBGR
GUID_WICPixelFormat32bppBGRA* GUID_WICPixelFormat32bppBGRA*
GUID_WICPixelFormat64bppRGBAFixedPoint GUID_WICPixelFormat32bppPBGRA
GUID_WICPixelFormat64bppRGBAFixedPoint
GUID_WICPixelFormat64bppBGRAFixedPoint

Примечание.

GUID_WICPixelFormat32bppBGRA поддерживается в Windows 8 и в обновлении платформы для Windows 7 и более поздних версий.

  • Чтобы закодировать этот формат, используйте параметр кодировщика EnableV5Header32bppBGRA . BMP будет записан с заголовком BITMAPV5HEADER.
  • Если файл имеет BITMAPV5HEADER, он декодирует как GUID_WICPixelFormat32bppBGRA.

Собственный кодек GIF

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat8bppIndexed GUID_WICPixelFormat8bppIndexed

Собственный кодек ICO

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat32bppBGRA

Собственный кодек JPEG

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat8bppGray GUID_WICPixelFormat8bppGray
GUID_WICPixelFormat24bppBGR GUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat32bppCMYK GUID_WICPixelFormat32bppCMYK

Собственный кодек PNG

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat1bppIndexed GUID_WICPixelFormat1bppIndexed
GUID_WICPixelFormat2bppIndexed GUID_WICPixelFormat2bppIndexed
GUID_WICPixelFormat4bppIndexed GUID_WICPixelFormat4bppIndexed
GUID_WICPixelFormat8bppIndexed GUID_WICPixelFormat8bppIndexed
GUID_WICPixelFormatBlackWhite GUID_WICPixelFormatBlackWhite
GUID_WICPixelFormat2bppGray GUID_WICPixelFormat2bppGray
GUID_WICPixelFormat4bppGray GUID_WICPixelFormat4bppGray
GUID_WICPixelFormat8bppGray GUID_WICPixelFormat8bppGray
GUID_WICPixelFormat16bppGray GUID_WICPixelFormat16bppGray
GUID_WICPixelFormat24bppBGR GUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat32bppBGRA GUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat48bppRGB GUID_WICPixelFormat48bppRGB
GUID_WICPixelFormat64bppRGBA GUID_WICPixelFormat48bppBGR
GUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat64bppBGRA

Собственный кодек TIFF

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat1bppIndexed GUID_WICPixelFormat1bppIndexed
GUID_WICPixelFormat4bppIndexed GUID_WICPixelFormat4bppIndexed
GUID_WICPixelFormat8bppIndexed GUID_WICPixelFormat8bppIndexed
GUID_WICPixelFormatBlackWhite GUID_WICPixelFormatBlackWhite
GUID_WICPixelFormat4bppGray GUID_WICPixelFormat4bppGray
GUID_WICPixelFormat8bppGray GUID_WICPixelFormat8bppGray
GUID_WICPixelFormat16bppGray GUID_WICPixelFormat16bppGray
GUID_WICPixelFormat32bppGrayFloat GUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat24bppBGR GUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat32bppBGRA GUID_WICPixelFormat32bppCMYK
GUID_WICPixelFormat32bppPBGRA GUID_WICPixelFormat48bppRGB
GUID_WICPixelFormat48bppRGB GUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat32bppCMYK
GUID_WICPixelFormat40bppCMYKAlpha
GUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat64bppPRGBA
GUID_WICPixelFormat64bppCMYK
GUID_WICPixelFormat80bppCMYKAlpha
GUID_WICPixelFormat96bppRGBFloat*
GUID_WICPixelFormat128bppRGBAFloat
GUID_WICPixelFormat128bppPRGBAFloat

Примечание.

GUID_ WICPixelFormat96bppRGBFloat поддерживается только в Windows 8, обновлении платформы для Windows 7 и более поздних версий.

HEIF native codec

Форматы только для глубины и получения. Эти графические идентификаторы формата пикселей позволяют зрителям фотографий получать альтернативные представления изображения HEIF.

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat8bppDepth GUID_WICPixelFormat8bppDepth
GUID_WICPixelFormat8bppGain GUID_WICPixelFormat8bppGain

Собственный кодек JPEG XR

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormatBlackWhite GUID_WICPixelFormatBlackWhite
GUID_WICPixelFormat8bppGray GUID_WICPixelFormat8bppGray
GUID_WICPixelFormat16bppBGR555 GUID_WICPixelFormat16bppBGR555
GUID_WICPixelFormat16bppGray GUID_WICPixelFormat16bppGray
GUID_WICPixelFormat24bppBGR GUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat24bppRGB GUID_WICPixelFormat24bppRGB
GUID_WICPixelFormat32bppBGR GUID_WICPixelFormat32bppBGR
GUID_WICPixelFormat32bppBGRA GUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat48bppRGBFixedPoint GUID_WICPixelFormat48bppRGBFixedPoint
GUID_WICPixelFormat16bppGrayFixedPoint GUID_WICPixelFormat16bppGrayFixedPoint
GUID_WICPixelFormat32bppBGR101010 GUID_WICPixelFormat32bppBGR101010
GUID_WICPixelFormat48bppRGB GUID_WICPixelFormat48bppRGB
GUID_WICPixelFormat64bppRGBA GUID_WICPixelFormat64bppRGBA
GUID_WICPixelFormat96bppRGBFixedPoint GUID_WICPixelFormat96bppRGBFixedPoint
GUID_WICPixelFormat96bppRGBFixedPoint GUID_WICPixelFormat128bppRGBAFloat
GUID_WICPixelFormat128bppRGBFloat GUID_WICPixelFormat128bppRGBFloat
GUID_WICPixelFormat32bppCMYK GUID_WICPixelFormat32bppCMYK
GUID_WICPixelFormat64bppRGBAFixedPoint GUID_WICPixelFormat64bppRGBAFixedPoint
GUID_WICPixelFormat128bppRGBAFixedPoint GUID_WICPixelFormat128bppRGBAFixedPoint
GUID_WICPixelFormat64bppCMYK GUID_WICPixelFormat64bppCMYK
GUID_WICPixelFormat24bpp3Channels GUID_WICPixelFormat24bpp3Channels
GUID_WICPixelFormat32bpp4Channels GUID_WICPixelFormat32bpp4Channels
GUID_WICPixelFormat40bpp5Channels GUID_WICPixelFormat40bpp5Channels
GUID_WICPixelFormat48bpp6Channels GUID_WICPixelFormat48bpp6Channels
GUID_WICPixelFormat56bpp7Channels GUID_WICPixelFormat56bpp7Channels
GUID_WICPixelFormat64bpp8Channels GUID_WICPixelFormat64bpp8Channels
GUID_WICPixelFormat48bpp3Channels GUID_WICPixelFormat48bpp3Channels
GUID_WICPixelFormat64bpp4Channels GUID_WICPixelFormat64bpp4Channels
GUID_WICPixelFormat80bpp5Channels GUID_WICPixelFormat80bpp5Channels
GUID_WICPixelFormat96bpp6Channels GUID_WICPixelFormat96bpp6Channels
GUID_WICPixelFormat112bpp7Channels GUID_WICPixelFormat112bpp7Channels
GUID_WICPixelFormat128bpp8Channels GUID_WICPixelFormat128bpp8Channels
GUID_WICPixelFormat40bppCMYKAlpha GUID_WICPixelFormat40bppCMYKAlpha
GUID_WICPixelFormat80bppCMYKAlpha GUID_WICPixelFormat80bppCMYKAlpha
GUID_WICPixelFormat32bpp3ChannelsAlpha GUID_WICPixelFormat32bpp3ChannelsAlpha
GUID_WICPixelFormat64bpp7ChannelsAlpha GUID_WICPixelFormat40bpp4ChannelsAlpha
GUID_WICPixelFormat72bpp8ChannelsAlpha GUID_WICPixelFormat48bpp5ChannelsAlpha
GUID_WICPixelFormat64bpp3ChannelsAlpha GUID_WICPixelFormat56bpp6ChannelsAlpha
GUID_WICPixelFormat80bpp4ChannelsAlpha GUID_WICPixelFormat64bpp7ChannelsAlpha
GUID_WICPixelFormat96bpp5ChannelsAlpha GUID_WICPixelFormat72bpp8ChannelsAlpha
GUID_WICPixelFormat112bpp6ChannelsAlpha GUID_WICPixelFormat64bpp3ChannelsAlpha
GUID_WICPixelFormat128bpp7ChannelsAlpha GUID_WICPixelFormat80bpp4ChannelsAlpha
GUID_WICPixelFormat144bpp8ChannelsAlpha GUID_WICPixelFormat96bpp5ChannelsAlpha
GUID_WICPixelFormat64bppRGBAHalf GUID_WICPixelFormat112bpp6ChannelsAlpha
GUID_WICPixelFormat48bppRGBHalf GUID_WICPixelFormat128bpp7ChannelsAlpha
GUID_WICPixelFormat32bppRGBE GUID_WICPixelFormat144bpp8ChannelsAlpha
GUID_WICPixelFormat16bppGrayHalf GUID_WICPixelFormat64bppRGBAHalf
GUID_WICPixelFormat32bppGrayFixedPoint GUID_WICPixelFormat48bppRGBHalf
GUID_WICPixelFormat64bppRGBFixedPoint GUID_WICPixelFormat32bppRGBE
GUID_WICPixelFormat128bppRGBFixedPoint GUID_WICPixelFormat16bppGrayHalf
GUID_WICPixelFormat64bppRGBHalf GUID_WICPixelFormatBlackWhite

Собственный кодек DDS

Форматы пикселей декодировщика Форматы пикселей кодировщика
GUID_WICPixelFormat32bppBGRA GUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat32bppPBGRA GUID_WICPixelFormat32bppPBGRA

Примечание.

Предоставленный кодек DDS Windows поддерживает файлы DDS, закодированные с помощью следующих DXGI_FORMAT значений:

  • DXGI_FORMAT_BC1_UNORM
  • DXGI_FORMAT_BC2_UNORM
  • DXGI_FORMAT_BC3_UNORM

Они декодируются и кодируются как GUID_WICPixelFormat32bppBGRA или GUID_WICPixelFormat32bppPBGRA. Дополнительные сведения см. в обзоре формата DDS.

Расширяемость формата пикселей

Пользовательские форматы изображений могут использовать форматы пикселей, которые изначально не предоставляются WIC, например YCbCr (YUV) и YCCK (Y/Cb/Cr/K). WIC предоставляет модель расширяемости, которая позволяет работать как встроенные, так и пиксельные форматы надстроек для работы в одном конвейере визуализации. Чтобы интегрировать эти форматы пикселей с конвейером изображений WIC, необходимо создать преобразователи формата пикселей для преобразования форматов пикселей надстройки в один или несколько собственных форматов пикселей. Основным интерфейсом для создания преобразователей форматов является IWICFormatConverter.

Концептуальной

Общие сведения о компоненте образов Windows

ИДЕНТИФИКАТОРы GUID WIC и CLSID

Другие ресурсы

Как написать КОДЕК с поддержкой WIC

Общие сведения о формате фотографий HD