Introducción a los formatos de píxel nativos

En este tema se presentan los formatos de píxel proporcionados por Windows Imaging Component (WIC).

Un formato de píxel describe el diseño de memoria de cada píxel en un mapa de bits. Este diseño de memoria describe cómo se codifican los datos de imagen de un mapa de bits al especificar el formato numérico y la organización del canal de color. WIC admite varios formatos numéricos para varios esquemas de organización de canal de color, lo que proporciona una amplia gama de formatos de píxel.

Profundidad en bits

La profundidad de bits es el número de bits que se usan para codificar cada canal de color. En la actualidad, la mayoría de las imágenes digitales usan una profundidad de 8 bits, lo que significa que cada canal de color de un píxel se representa mediante 8 bits, lo que proporciona 2⁸ (256) valores únicos por canal. Una imagen que tiene una profundidad de 8 bits y tres canales de color (como rojo, verde y azul) usa 24 bits por píxel (bpp), que proporciona 2²⁴ (16 777 216) colores diferentes por píxel.

Para mejorar la resolución de color, se puede usar una profundidad de 16 o 32 bits. Esto proporciona cada canal de color con 2¹⁶ (65 536) o 2³² valores únicos, a un costo de más memoria por píxel.

En algunos formatos, la profundidad del bit no es un múltiplo de 8. Estos formatos se denominan formatos empaquetados, ya que los canales de color de un píxel no están alineados con los límites de bytes. Por ejemplo, si las profundidades de bits de 5, tres canales de color se pueden almacenar en 16 bits (incluido 1 bit de relleno, para hacer que los píxeles estén alineados por bytes). Los formatos empaquetados son útiles cuando la memoria o la potencia de procesamiento están limitadas.

Codificación numérica

Para la mayoría de las imágenes digitales actuales, se usan bytes sin signo y enteros cortos sin signo para describir el intervalo numérico de cada canal de color. El valor mínimo (0) representa la intensidad cero en un único canal de color y el negro se logra cuando todos los canales de color son cero. Del mismo modo, el valor máximo representa la intensidad completa y el blanco se logra cuando todos los canales de color están a plena intensidad. En una profundidad de bits de 8, un UINT proporciona 256 valores únicos por canal de color (0 a 255). Un UINT de 16 bits proporciona 65 536 valores únicos por canal de color (de 0 a 65 535).

Además, WIC admite formatos de punto fijo y de punto flotante. Estos formatos admiten intervalos dinámicos más grandes, ya que todo el intervalo numérico de cada canal de color es mayor que el intervalo visible. Como resultado, los colores se pueden ajustar por encima o por debajo del intervalo visible, durante los pasos intermedios del procesamiento de imágenes, sin pérdida de información de la imagen.

Codificación numérica de punto fijo

Los valores de punto fijo de 16 bits se interpretan como s2.13: bit de signo, dos bits enteros y trece bits fraccionarios. Con esta interpretación, un intervalo numérico de -4,0 a +3,999... se puede representar, con el valor de 1,0 representado por el valor entero con signo 8192 (0x2000).

Los valores de punto fijo de 32 bits se interpretan como s7.24: bit de signo, siete bits enteros y veinticuatro bits fraccionarios. Con esta interpretación, un intervalo numérico de -128,0 a +127,999... se puede representar, con el valor de 1,0 representado por el valor entero con signo 16777216 (0x01000000).

Canales de color

Los canales de color de un formato de píxel definen el diseño de memoria de cada color dentro de los datos de imagen de un mapa de bits. Hay una variedad de diferentes estructuras de canal de color comunes en las imágenes digitales actuales, y WIC proporciona compatibilidad con muchos de estos.

Modelo de color RGB o BGR

Los formatos RGB y BGR describen los colores en un modelo de color aditivo. El método más común para describir una imagen es con tres canales de color independientes que representan los colores rojo (R), verde (G) y azul (B). WIC proporciona compatibilidad con estos tres canales en el orden rojo-verde-azul (RGB) o azul-verde-rojo (BGR). Este es el orden en el que cada canal de color aparece dentro del flujo de bits secuencial. Por ejemplo, en el formato GUID_WICPixelFormat32bppRGB, cada píxel tiene un ancho de 32 bits. El canal rojo es el primer byte (menos significativo) en la memoria, seguido de verde y, a continuación, azul. Por el contrario, en el formato GUID_WICPixelFormat32bppBGR, los canales de color están en el orden opuesto. WIC admite varios formatos RGB o BGR, incluidos formatos de bits empaquetados especiales, como GUID_WICPixelFormat16bppBGR555.

Nota:

Los canales de color de los formatos de bits empaquetados BGR especiales no están en múltiplo de 8 como los canales de color en formatos de píxel típicos. Esto significa que los valores del canal no están alineados por bytes. Se debe tener cuidado al leer canales de color de bits empaquetados.

Además de los formatos RGB y BGR, WIC también proporciona formatos de píxel RGB y BGR que admiten un canal alfa (A). El canal alfa proporciona datos de opacidad para el píxel. En el caso de los formatos con un canal alfa agregado, el canal alfa suele ser el último en el orden del canal de color. Por ejemplo, en el formato de píxeles GUID_WICPixelFormat32bppBGRA, el orden de bytes es azul, verde y rojo, seguido del canal alfa.

WIC también admite formatos de píxel RGB alfa multiplicados previamente (P). En un formato de píxel RGBA típico, los valores de color rojo, verde y azul son los valores de color reales de la imagen. Para crear una imagen compuesta en el formato RGBA estándar, el valor alfa de la imagen de primer plano debe multiplicarse por cada uno de los canales rojo, verde y azul antes de agregarlo al color de la imagen de fondo. En un formato de píxel RGB alfa multiplicado previamente, cada canal de color ya se ha multiplicado por el valor alfa. Esto proporciona un método más eficaz de composición de imágenes con datos de canal alfa. Para recuperar los valores de color verdaderos de cada canal en un formato de píxel PRGBA o PBGRA, la multiplicación del canal alfa debe invertirse dividiendo los valores de color por el valor alfa.

Modelo de color CMYK

CMYK es un modelo de color sustractivo que se usa en la impresión. Los colores generados por un modelo CMYK se generan mediante la luz que no se absorbe, sino que se refleja. CMYK es un modelo de cuatro canales de cian (C), magenta (M), amarillo (Y) y negro (K). Cuando los cuatro canales de color tienen un valor máximo, el resultado es negro. Al igual que los modelos de color RGB o BGR, el orden de bytes dentro del flujo de bits secuencial recibe el nombre del formato de píxel. Por ejemplo, en el formato de píxel GUID_WICPixelFormat32bppCMYK, cada píxel se compone de 32 bits. El primer byte contiene el valor cian, seguido a su vez por magenta, amarillo y negro. WIC proporciona formatos de píxel para CMYK a 32 y 64 bits por píxel (bpp).

Además del modelo de color CMYK estándar, WIC también proporciona CMYK con alfa. Esto permite que las imágenes CMYK tengan datos de combinación alfa similares al modelo de color RGB o BGR. El canal alfa se encuentra inmediatamente después del negro en la secuencia de bits secuencial de un mapa de bits.

Modelo de color de n canales

Para mayor flexibilidad, WIC también proporciona formatos de píxel que no tienen un orden de canal predefinido. WIC proporciona formatos de píxel que admiten de tres a ocho canales de datos de imagen continuas en profundidades de bits de 8 y 16. A diferencia de los formatos de píxel RGB o BGR y CMYK, los formatos de n canales no especifican el orden del canal, sino el número de canales de color disponibles. Por ejemplo, en el formato de píxeles GUID_WICPixelFormat32bpp4Channels, cada píxel se compone de 32 bits con cada uno de los cuatro canales que ocupan un solo byte.

WIC también proporciona formatos de píxel para n canales con alfa. Esto permite que las imágenes de n canales tengan datos de combinación alfa similares a los modelos de color RGB o BGR y CMYK. El canal alfa se encuentra inmediatamente después del último canal de color en el flujo de bits secuencial de un mapa de bits.

Modelos de color indexados y de escala de grises

Los formatos indexados usan una tabla de colores, denominada paleta. La paleta se almacena externamente en los datos de píxeles o se define implícitamente. El valor de cada píxel de la imagen es un índice en la paleta. Con un formato indexado, el número de bits por píxel está directamente relacionado con el número de entradas de la paleta. Esto reduce significativamente la cantidad de datos necesarios para representar la imagen, pero también restringe el número de colores disponibles para la imagen. WIC admite formatos indexados con 1, 2, 4 u 8 bpp.

Para formatos monocromáticos (escala de grises), WIC admite 1, 2, 4, 8, 16 y 32 bits por píxel. Para las profundidades de bits de 1, 8, 16 y 32, los datos de color se almacenan en un único canal. Para las profundidades de bits de 2 o 4, los píxeles son índices en una paleta de escala de grises.

Modelo de color Y'CbCr

WIC agrega compatibilidad con el modelo de color JPEG JFIF Y'CbCr. Y'CbCr separa los colores en un componente luma (Y') y dos componentes de crominancia (Cb y Cr). Muchos archivos JPEG almacenan de forma nativa los datos de imagen mediante el modelo de color Y'CbCr.

El sistema visual humano es menos sensible a los cambios en crominancia que en luma, y los formatos Y'CbCr pueden aprovechar esta sensibilidad reducida reduciendo la cantidad de datos de crominancia almacenados en relación con luma. Para ello, almacenan la crominancia y luma en planos independientes y escalan cada plano de componente a una resolución diferente. Esta práctica se conoce como submuestreo de crominancia.

Dado que los datos de crominancia y luma se almacenan por separado y pueden ser diferentes resoluciones, WIC define formatos de luma y píxeles de crominancia independientes. WIC admite datos de 8 bits por canal.

Formato de píxel de WIC

Los formatos de píxel en WIC se definen mediante GUID para evitar conflictos con IHD. WIC proporciona un nombre descriptivo para hacer referencia al GUID de un formato de píxel nativo. La convención de nomenclatura para los formatos de píxel WIC es la siguiente:

[GUID_WICPixelFormat][Bits por píxel][Orden de canal][Tipo de almacenamiento]

Componente de formato Descripción
GUID_WICPixelFormat Identificación descriptiva para todos los formatos de píxel WIC. El nombre descriptivo de todos los píxeles WIC comienza con esta cadena.
Bits por píxel. Número de bits por píxel (bpp) usado para el formato de píxel.
Orden del canal Modelo de canal de color y orden de cada canal para el formato.
Tipo de almacenamiento Codificación numérica usada para el formato de píxel. La codificación predeterminada es un entero sin signo. Si nada sigue la información del modelo de color, se implica un entero sin signo (UINT). FixedPoint y Float se usan para identificar formatos de píxel que usan codificación de punto fijo y de punto flotante, respectivamente.

Nota:

En el caso de los formatos de canal n, [Orden de canal] no especifica el orden de color, sino el número de canales disponibles. Por ejemplo, GUID_WICPixelFormat24bpp3Channels proporciona tres canales de color donde "3Channels" es la entrada de [Orden de canal], pero indica solo el número de canales y no el orden.

Por ejemplo, el nombre descriptivo GUID_WICPixelFormat24bppRGB significa que el formato de píxel usa 24 bits por píxel y el modelo de color RGB. Dado que el nombre no identifica explícitamente un tipo de almacenamiento, se implica un entero sin signo.

WIC admite varios formatos de píxel. Las tablas siguientes agrupan formatos de píxel similares por estructura de color, al tiempo que proporcionan información adicional, como profundidad de bits, bits por píxel y codificación numérica. Cada tabla contiene la siguiente información:

  • Nombre descriptivo. Nombre descriptivo del formato de píxel.
  • Recuento de canales. Número de canales de color.
  • Bits por canal. Número de bits por canal (profundidad de bits).
  • Bits por píxel. Número de bits por píxel, incluidos los bits de relleno.
  • Tipo de almacenamiento. Codificación numérica de los datos de imagen. Este valor puede ser un entero sin signo (UINT), un número de punto fijo (FixedPoint) o un número de punto flotante (Float).

Nota:

Para mayor claridad, este documento solo hace referencia a formatos de píxel por sus nombres descriptivos. El valor hexadecimal real de los formatos de píxel se puede encontrar en los archivos wincodec.h/idl.

Formatos de píxel no definidos

En la lista siguiente se muestran formatos de píxel genéricos que se usan cuando el formato de píxel no está definido o no es importante para una operación de imagen.

  • GUID_WICPixelFormatUndefined
  • GUID_WICPixelFormatDontCare

Formatos de píxel indexados

En la tabla siguiente se enumeran los formatos de píxel indexados proporcionados por WIC. En estos formatos, el valor de cada píxel es un índice en una paleta de colores.

Nombre descriptivo Recuento de canales Bits por píxel Tipo de almacenamiento
GUID_WICPixelFormat1bppIndexed 1 1 UINT
GUID_WICPixelFormat2bppIndexed 1 2 UINT
GUID_WICPixelFormat4bppIndexed 1 4 UINT
GUID_WICPixelFormat8bppIndexed 1 8 UINT

Formatos de píxel de bits empaquetados

En la tabla siguiente se enumeran los formatos de bits empaquetados proporcionados por WIC. En estos formatos, los datos del canal de color no están alineados por bytes.

Nombre descriptivo Recuento de canales Bits por canal Bits por píxel Tipo de almacenamiento
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

Para los formatos GUID_WICPixelFormat32bppBGR101010 y GUID_WICPixelFormat32bppRGBA1010102, el canal rojo se almacena en los bits menos significativos. Para los formatos GUID_WICPixelFormat32bppR10G10B10A2 y GUID_WICPixelFormat32bppR10G10B10A2HDR10, el canal rojo se define en los bits más significativos, el mismo diseño que DXGI_FORMAT_R10G10B10A2_UNORM.

El formato de GUID_WICPixelFormat32bppR10G10B10A2HDR10 es el formato de píxel de 10 bits para HDR10 (espacio de colores BT.2020 y SMPTE ST.2084 EOTF).

Formatos de píxel de escala de grises

En la tabla siguiente se enumeran los formatos de escala de grises proporcionados por WIC. En estos formatos, los datos de color representan tonos de gris.

Nombre descriptivo Recuento de canales Bits por canal Bits por píxel Tipo de almacenamiento
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 Float
GUID_WICPixelFormat32bppGrayFloat 1 32 32 Float
GUID_WICPixelFormat32bppGrayFixedPoint 1 32 32 FixedPoint

Formatos de píxel RGB/BGR

En la tabla siguiente se enumeran los formatos RGB o BGR proporcionados por WIC. Estos formatos separan los datos de color principal en canales rojo (R), verde (G) y azul (B). Se proporciona un canal alfa (A) adicional para la información de opacidad en algunos formatos.

Nombre descriptivo Recuento de canales Bits por canal Bits por píxel Tipo de almacenamiento
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 Float
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 Fijo
GUID_WICPixelFormat48bppBGRFixedPoint 3 16 48 Fijo
GUID_WICPixelFormat48bppRGBHalf 3 16 48 Float
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 Fijo
GUID_WICPixelFormat64bppRGBAFixedPoint 4 16 64 Fijo
GUID_WICPixelFormat64bppBGRAFixedPoint 4 16 64 Fijo
GUID_WICPixelFormat64bppRGBHalf 3 16 64 Float
GUID_WICPixelFormat64bppRGBAHalf 4 16 64 Float
GUID_WICPixelFormat96bppRGBFixedPoint 3 32 96 Fijo
GUID_WICPixelFormat128bppRGBFloat 3 32 128 Float
GUID_WICPixelFormat128bppRGBAFloat 4 32 128 Float
GUID_WICPixelFormat128bppPRGBAFloat 4 32 128 Float
GUID_WICPixelFormat128bppRGBFixedPoint 3 32 128 Fijo
GUID_WICPixelFormat128bppRGBAFixedPoint 4 32 128 Fijo

Nota:

*El formato GUID_WICPixelFormat32bppRGBE codifica tres valores de punto flotante de 16 bits en 4 bytes, como se indica a continuación: Tres mantissas de 8 bits sin signo para los canales R, G y B, además de un exponente compartido de 8 bits. Este formato proporciona precisión de punto flotante de 16 bits en una representación de píxeles más pequeña.

A partir de Windows 8 y la actualización de la plataforma para Windows 7, WIC proporciona formatos adicionales, que se muestran en la tabla aquí.

Nombre descriptivo Recuento de canales Bits por canal Bits por píxel Tipo de almacenamiento
GUID_WICPixelFormat32bppRGB 3 8 32 UINT
GUID_WICPixelFormat64bppRGB 3 16 64 UINT
GUID_WICPixelFormat96bppRGBFloat 3 32 96 FLOAT
GUID_WICPixelFormat64bppPRGBAHalf 4 16 64 FLOAT

Formatos de píxel de CMYK

En la tabla siguiente se enumeran los formatos CMYK proporcionados por WIC. Estos formatos separan los datos de color principales en canales cian (C), magenta (M), amarillo (Y) y negro (K).

Nombre descriptivo Recuento de canales Bits por canal Bits por píxel Tipo de almacenamiento
GUID_WICPixelFormat32bppCMYK 4 8 32 UINT
GUID_WICPixelFormat64bppCMYK 4 16 64 UINT
GUID_WICPixelFormat40bppCMYKAlpha 5 8 40 UINT
GUID_WICPixelFormat80bppCMYKAlpha 5 16 80 UINT

Formatos de píxel de n canales

En la tabla siguiente se enumeran los formatos de canal n proporcionados por WIC. Estos formatos proporcionan una serie de canales de color no definidos para almacenar datos de imagen.

Nombre descriptivo Recuento de canales Bits por canal Bits por píxel Tipo de almacenamiento
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

Formatos de píxel de solo alfa

En la tabla siguiente se enumeran los formatos de solo alfa proporcionados por WIC. Este formato contiene solo información alfa.

Nombre descriptivo Recuento de canales Bits por canal Bits por píxel Tipo de almacenamiento
GUID_WICPixelFormat8bppAlpha 1 8 32 UINT

Formatos de píxel Y'CbCr

En la tabla siguiente se enumeran los formatos Y'CbCr proporcionados por WIC. Estos formatos separan los datos de color principales en luma (Y), diferencia de crominancia azul (Cb) y diferencia de crominancia roja (Cr). Tenga en cuenta que estos formatos están diseñados para almacenar datos de píxeles JPEG JFIF Y'CbCr.

Nombre descriptivo Recuento de canales Bits por píxel Tipo de almacenamiento
GUID_WICPixelFormat8bppY 1 8 UINT
GUID_WICPixelFormat8bppCb 1 8 UINT
GUID_WICPixelFormat8bppCr 1 8 UINT
GUID_WICPixelFormat16bppCbCr 2 16 UINT

Espacio de colores

Los formatos de píxel en sí mismos no tienen un espacio de color. Por lo general, el espacio de colores es una interpretación semántica de los valores de píxeles que depende del contexto del mapa de bits. Algunas imágenes identifican un contexto de color que define el espacio de color de la imagen. Solo en ausencia de un contexto de color debe inferirse el espacio de colores.

La información de contexto de color se define mediante la interfaz IWICColorContext para WIC. Para recuperar la información de contexto de color de un marco de imagen, use el método GetColorContext.

En ausencia de información de espacio de color para una imagen, la regla general para la inferencia de espacio de colores es que los formatos RGB y escala de grises UINT usan el espacio de color RGB estándar (sRGB), mientras que los formatos RGB de punto fijo y RGB y escala de grises usan el espacio de color RGB extendido (scRGB). El modelo de color CMYK usa un espacio de colores RWOP.

Formatos de imagen nativos

Cada uno de los códecs WIC proporcionados por Windows admite un subconjunto de los formatos de píxel WIC. Para cada códec, los formatos de descodificación admitidos pueden ser diferentes de los formatos de codificación admitidos.

Al descodificar una imagen, si los datos se almacenan de forma nativa en un formato de píxel que no es compatible con el descodificador, se convertirá un formato admitido. Para determinar el formato de píxel de salida, llame a IWICBitmapFrameDecode::GetPixelFormat.

Al codificar una imagen, use IWICBitmapFrameEncode::SetPixelFormat para solicitar que el codificador use un formato de píxel específico. El codificador devolverá el formato de píxel más cercano admitido, que puede ser diferente de lo que se solicitó.

En las tablas siguientes se muestran los formatos de píxel compatibles con cada uno de los códecs WIC proporcionados por Windows.

Códec BMP nativo

Formatos de píxel del descodificador Formatos de píxel del codificador
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

Nota:

GUID_ WICPixelFormat32bppBGRA solo se admite en Windows 8, la Actualización de la plataforma para Windows 7 y versiones posteriores.

  • Para codificar este formato, use la opción del codificador EnableV5Header32bppBGRAcoder. El BMP se escribirá con un encabezado BITMAPV5HEADER.
  • Si un archivo tiene un BITMAPV5HEADER, descodifica como GUID_WICPixelFormat32bppBGRA.

Códec GIF nativo

Formatos de píxel del descodificador Formatos de píxel del codificador
GUID_WICPixelFormat8bppIndexed GUID_WICPixelFormat8bppIndexed

Códec ICO nativo

Formatos de píxel del descodificador Formatos de píxel del codificador
GUID_WICPixelFormat32bppBGRA

Códec JPEG nativo

Formatos de píxel del descodificador Formatos de píxel del codificador
GUID_WICPixelFormat8bppGray GUID_WICPixelFormat8bppGray
GUID_WICPixelFormat24bppBGR GUID_WICPixelFormat24bppBGR
GUID_WICPixelFormat32bppCMYK GUID_WICPixelFormat32bppCMYK

Códec PNG nativo

Formatos de píxel del descodificador Formatos de píxel del codificador
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

Códec TIFF nativo

Formatos de píxel del descodificador Formatos de píxel del codificador
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

Nota:

GUID_ WICPixelFormat96bppRGBFloat solo se admite en Windows 8, la actualización de la plataforma para Windows 7 y versiones posteriores.

Códec HEIF nativo

Formatos de solo profundidad y de solo ganancia. Estos GUID de formato de píxel permiten a los visores de fotos recuperar representaciones alternativas de una imagen HEIF.

Formatos de píxel del descodificador Formatos de píxel del codificador
GUID_WICPixelFormat8bppDepth GUID_WICPixelFormat8bppDepth
GUID_WICPixelFormat8bppGain GUID_WICPixelFormat8bppGain

Códec nativo JPEG XR

Formatos de píxel del descodificador Formatos de píxel del codificador
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

Códec DDS nativo

Formatos de píxel del descodificador Formatos de píxel del codificador
GUID_WICPixelFormat32bppBGRA GUID_WICPixelFormat32bppBGRA
GUID_WICPixelFormat32bppPBGRA GUID_WICPixelFormat32bppPBGRA

Nota:

El códec proporcionado por Windows DDS admite archivos DDS codificados mediante los siguientes valores de DXGI_FORMAT:

  • DXGI_FORMAT_BC1_UNORM
  • DXGI_FORMAT_BC2_UNORM
  • DXGI_FORMAT_BC3_UNORM

Se descodifican y se codifican como GUID_WICPixelFormat32bppBGRA o GUID_WICPixelFormat32bppPBGRA. Para más información, consulte Introducción al formato DDS.

Extensibilidad de formato de píxel

Los formatos de imagen personalizados pueden usar formatos de píxel que no son proporcionados de forma nativa por WIC, como YCbCr (YUV) y YCCK (Y/Cb/Cr/K). WIC proporciona un modelo de extensibilidad que permite que los formatos de píxel integrados y de complemento funcionen dentro de la misma canalización de creación de imágenes. Para integrar estos formatos de píxel con la canalización de creación de imágenes WIC, debe crear convertidores de formato de píxel para convertir formatos de píxel de complemento a uno o varios de los formatos de píxel nativo. La interfaz principal para compilar convertidores de formato es IWICFormatConverter.

Conceptual

Introducción a Windows Imaging Component

GUID de WIC y CLSID

Otros recursos

Escritura de un CÓDEC habilitado para WIC

Introducción al formato HD Photo