Een WIC-Enabled Decoder implementeren
Voor het implementeren van een WIC-decoder (Windows Imaging Component) moeten twee klassen worden geschreven. De interfaces in deze klassen komen rechtstreeks overeen met de decoderverantwoordelijkheden die worden beschreven in de sectie Decodering van How The Windows Imaging Component Works.
Een van de klassen biedt services op containerniveau en implementeert de IWICBitmapDecoder-interface. Als uw afbeeldingsindeling metagegevens op containerniveau ondersteunt, moet u ook de IWICMetadataBlockReader interface voor deze klasse implementeren. Het wordt aanbevolen om de IWICBitmapCodecProgressNotification-interface op zowel de decoder als de encoder te ondersteunen voor een betere gebruikerservaring.
De andere klasse die u implementeert, biedt services op frameniveau en voert de daadwerkelijke decodering van de afbeeldings bits voor elk frame in de container uit. Deze klasse implementeert de IWICBitmapFrameDecode interface en de IWICMetadataBlockReader interface. Als u een decoder schrijft voor een onbewerkte indeling, implementeert u ook de IWICDevelopRaw interface op deze klasse. Naast de vereiste interfaces wordt u ten zeerste aangeraden de IWICBitmapSourceTransform-interface in deze klasse te implementeren om de best mogelijke prestaties voor uw afbeeldingsindeling te bereiken.
Een van de objecten geleverd door WIC is de ImagingFactory. U gebruikt vaak de IWICComponentFactory interface op dit object om verschillende onderdelen te maken. Omdat deze vaak wordt gebruikt, moet u een verwijzing naar deze eigenschap behouden als lideigenschap op zowel uw decoder- als encoderklassen.
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);
Verwante onderwerpen
-
conceptuele
-
Een WIC-Enabled CODEC- schrijven
-
Overzicht van Windows Imaging-onderdelen
-
Overzicht van WIC-metagegevens