Implementación de un descodificador de WIC-Enabled

La implementación de un descodificador de Componente de imágenes de Windows (WIC) requiere escribir dos clases. Las interfaces de estas clases corresponden directamente a las responsabilidades del descodificador descritas en la sección Descodificación de Cómo funciona el componente de creación de imágenes de Windows.

Una de las clases proporciona servicios de nivel de contenedor e implementa la interfaz IWICBitmapDecoder . Si el formato de imagen admite metadatos de nivel de contenedor, también debe implementar la interfaz IWICMetadataBlockReader en esta clase. Se recomienda que admita la interfaz IWICBitmapCodecProgressNotification tanto en el descodificador como en el codificador para admitir una mejor experiencia de usuario.

La otra clase que implementará proporciona servicios de nivel de fotograma y realiza la descodificación real de los bits de imagen para cada fotograma del contenedor. Esta clase implementa la interfaz IWICBitmapFrameDecode y la interfaz IWICMetadataBlockReader . Si va a escribir un descodificador para un formato sin formato, también implementará la interfaz IWICDevelopRaw en esta clase. Además de las interfaces necesarias, se recomienda encarecidamente implementar la interfaz IWICBitmapSourceTransform en esta clase para habilitar el mejor rendimiento posible para el formato de imagen.

Uno de los objetos proporcionados por WIC es ImagingFactory. La interfaz IWICComponentFactory se usa con frecuencia en este objeto para crear varios componentes. Dado que se usa con frecuencia, debe mantener una referencia a ella como una propiedad miembro en las clases de descodificador y codificador.

IWICImagingFactory* m_pImagingFactory = NULL;
IWICComponentFactory* m_pComponentFactory = NULL;
HRESULT hr;
      
hr = CoCreateInstance(CLSID_WICImagingFactory, NULL,
  CLSCTX_INPROC_SERVER, IID_IWICImagingFactory,
  (LPVOID*) m_pImagingFactory);

hr = m_pImagingFactory->QueryInterface(
  IID_IWICComponentFactory, (void**)&m_pComponentFactory);

Conceptual

Funcionamiento del componente de creación de imágenes de Windows

Interfaces de descodificador

Cómo escribir un CÓDEC de WIC-Enabled

Información general sobre el componente de creación de imágenes de Windows

Introducción a los metadatos de WIC

Introducción a la codificación