Condividi tramite


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 Encoding del funzionamento del componente Windows Imaging.

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

L'altra classe fornisce servizi a livello di frame ed esegue la codifica effettiva dei bit dell'immagine per ogni fotogramma nel contenitore. Esegue inoltre 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 della classe IStream che la classe a livello di contenitore inizializza durante l'istanza, in base al quale 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 possano 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 rudimentario 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 interessati dal decodificatore.

riferimento

IWICBitmapEncoder

concettuale

Implementazione di IWICDevelopRaw

interfacce del codificatore

Come scrivere un WIC-Enabled CODEC

Panoramica componente Windows Imaging