Compartir a través de


Introducción a la descodificación

En el tema se presenta el descodificador de mapa de bits, un componente de códec principal de Componente de imágenes de Windows (WIC) que se usa para descodificar archivos de imagen de una secuencia.

En este tema se incluyen las siguientes secciones.

Introducción

Los descodificadores de mapa de bits se pueden ver como el contenedor externo de una imagen digital y proporcionan acceso a las propiedades globales y los marcos de imagen. Algunos formatos de imagen admiten miniaturas globales, vistas previas, contextos de color o metadatos, mientras que otros proporcionan estas propiedades solo en el nivel de marco. Sin embargo, tenga en cuenta que muchos de los formatos de imagen estándar no admiten estas propiedades globales. Por lo tanto, muchas de las implementaciones nativas de códec proporcionadas por WIC no admiten la mayoría de estas propiedades globales. Consulte la tabla de la sección Descodificadores de mapa de bits nativo de este tema para obtener información sobre la compatibilidad con propiedades globales.

En WIC, los descodificadores de mapa de bits se representan mediante la interfaz IWICBitmapDecoder y proporcionan acceso a estas propiedades globales del mapa de bits y, lo que es más importante, los marcos que contiene. La interfaz IWICBitmapFrameDecode representa un marco de mapa de bits individual y se describe en detalle en la Información general sobre orígenes de mapa de bits.

Descodificadores de mapa de bits nativos

WIC proporciona varias implementaciones nativas de la interfaz IWICBitmapDecoder para los formatos de imagen web estándar y el formato hd Photo de alta gama dinámica. En la tabla siguiente se enumeran los descodificadores nativos disponibles, el nombre del identificador de clase y la compatibilidad con las propiedades globales. Aunque es posible que una característica no admita una propiedad como miniaturas en el nivel global, el formato de imagen puede admitir estas propiedades en el nivel de marco individual.

Formato de imágenes Nombre clSID Miniaturas Versiones Preliminares Contextos de color Metadatos
BMP CLSID_WICBmpDecoder No No No No
GIF CLSID_WICGifDecoder No No No
ICO CLSID_WICIcoDecoder No No No No
JPEG CLSID_WICJpegDecoder No No No No
PNG CLSID_WICPngDecoder No No No No
TIFF CLSID_WICTiffDecoder No No No No
Foto HD CLSID_WICWmpDecoder No No No

 

Creación de un descodificador de mapa de bits

Para descodificar una imagen mediante WIC, primero debe crear una instancia del IWICBitmapDecoder para el formato de imagen de destino. La instancia de descodificador permite acceder a las propiedades globales y los metadatos, si se admiten, así como a los marcos de imagen. La factoría de imágenes WIC, IWICImagingFactory, proporciona varios métodos para crear descodificadores de mapa de bits. Se proporcionan los métodos de fábrica siguientes para crear descodificadores de mapa de bits.

En el código siguiente se muestra cómo crear un descodificador de mapa de bits mediante un nombre de archivo de imagen y recuperar el primer marco de la imagen.

   // Create a decoder
   IWICBitmapDecoder *pDecoder = NULL;

   hr = m_pIWICFactory->CreateDecoderFromFilename(
       szFileName,                      // Image to be decoded
       NULL,                            // Do not prefer a particular vendor
       GENERIC_READ,                    // Desired read access to the file
       WICDecodeMetadataCacheOnDemand,  // Cache metadata when needed
       &pDecoder                        // Pointer to the decoder
       );

   // Retrieve the first frame of the image from the decoder
   IWICBitmapFrameDecode *pFrame = NULL;

   if (SUCCEEDED(hr))
   {
       hr = pDecoder->GetFrame(0, &pFrame);
   }

Extensibilidad del descodificador

Una de las características principales de WIC es un marco de extensibilidad que permite a los desarrolladores de códecs desarrollar sus propios códecs de imagen y obtener la misma compatibilidad con la plataforma que las implementaciones nativas de códecs de imagen. Se usa un único conjunto coherente de interfaces para todo el procesamiento de imágenes, independientemente del formato de imagen. Cualquier aplicación que use WIC obtiene compatibilidad automática con nuevos formatos de imagen en cuanto se instale el códec. Para obtener más información sobre el desarrollo de códecs, consulte los temas de Desarrollo de componentes. Para obtener más información sobre el desarrollo del descodificador, consulte Implementación de un descodificador de WIC-Enabled.

Conceptual

Información general del componente de creación de imágenes de Windows

Introducción a la codificación

Desarrollo de componentes