Implementazione di un decodificatore di WIC-Enabled

L'implementazione di un decodificatore WIC (Windows Imaging Component) richiede la scrittura di due classi. Le interfacce di queste classi corrispondono direttamente alle responsabilità del decodificatore descritte nella sezione Decodificazione di How The Windows Imaging Component Works.

Una delle classi fornisce servizi a livello di contenitore e implementa l'interfaccia IWICBitmapDecoder . Se il formato immagine supporta i metadati a livello di contenitore, è necessario implementare anche l'interfaccia IWICMetadataBlockReader in questa classe. È consigliabile supportare l'interfaccia IWICBitmapCodecProgressNotification sia nel decodificatore che nel codificatore per supportare un'esperienza utente migliore.

L'altra classe implementata fornisce servizi a livello di frame e esegue la decodifica effettiva dei bit di immagine per ogni frame nel contenitore. Questa classe implementa l'interfaccia IWICBitmapFrameDecode e l'interfaccia IWICMetadataBlockReader . Se si scrive un decodificatore per un formato non elaborato, si implementa anche l'interfaccia IWICDevelopRaw in questa classe. Oltre alle interfacce necessarie, è consigliabile implementare l'interfaccia IWICBitmapSourceTransform in questa classe per consentire le migliori prestazioni possibili per il formato dell'immagine.

Uno degli oggetti forniti da WIC è ImagingFactory. Spesso si usa l'interfaccia IWICComponentFactory in questo oggetto per creare vari componenti. Poiché viene usato di frequente, è consigliabile mantenere un riferimento come proprietà membro nelle classi decodificatore e codificatore.

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);

Informazioni concettuali

Funzionamento del componente Di creazione immagini di Windows

Interfacce di decodificatore

Come scrivere un codec WIC-Enabled

Panoramica del componente Di creazione immagini di Windows

Panoramica dei metadati WIC

Panoramica della codifica