Implementazione di un codificatore WIC-Enabled

Introduzione

L'implementazione di un codificatore WINDOWS Imaging Component (WIC) richiede la scrittura di due classi, come avviene anche per l'implementazione di un decodificatore WIC. Le interfacce di queste classi corrispondono direttamente alle responsabilità del codificatore descritte nella sezione Codifica del funzionamento del componente Windows Imaging.

Una delle classi fornisce servizi a livello di contenitore e gestisce la serializzazione dei singoli fotogrammi di immagine all'interno del contenitore. Questa classe implementa l'interfaccia IWICBitmapEncoder . Se il formato dell'immagine supporta i metadati a livello di contenitore, è necessario implementare anche l'interfaccia IWICMetadataBlockWriter in questa classe.

L'altra classe fornisce servizi a livello di frame ed esegue la codifica effettiva dei bit di immagine per ogni fotogramma nel contenitore. Esegue anche l'iterazione dei blocchi di metadati per ogni frame e richiede ai writer di metadati appropriati di serializzare i blocchi. Questa classe implementa l'interfaccia IWICBitmapFrameEncode e l'interfaccia IWICMetadataBlockWriter . Questa classe deve avere un membro IStream che la classe a livello di contenitore inizializza alla creazione di istanze, in cui il metodo Commit serializzerà i dati del frame.

In alcuni casi, ad esempio i formati non elaborati, l'autore del codec potrebbe non volere che le applicazioni siano in grado di codificare o codificare nuovamente nel formato non elaborato, perché lo scopo di un file non elaborato è contenere i dati del sensore esattamente come provengono dalla fotocamera. Nei casi in cui l'autore del codec non vuole abilitare la codifica, è comunque necessario implementare un codificatore rudimentale solo per abilitare l'aggiunta di metadati. In tal caso, il codificatore deve supportare solo i metodi necessari per la scrittura dei metadati e può copiare i bit dell'immagine non toccati dal decodificatore.

Riferimento

IWICBitmapEncoder

Informazioni concettuali

Implementazione di IWICDevelopRaw

Interfacce del codificatore

Come scrivere un codec WIC-Enabled

Panoramica del componente Windows Imaging