Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A implementação de um descodificador Windows Imaging Component (WIC) requer a escrita de duas classes. As interfaces nessas classes correspondem diretamente às responsabilidades do decodificador descritas na seção Decoding de How The Windows Imaging Component Works.
Uma das classes fornece serviços de nível de contêiner e implementa a interface IWICBitmapDecoder. Se seu formato de imagem oferece suporte a metadados no nível de contêiner, você também deve implementar o IWICMetadataBlockReader interface nessa classe. Recomenda-se que a interface IWICBitmapCodecProgressNotification seja suportada tanto no descodificador quanto no codificador para melhorar a experiência do utilizador.
A outra classe que você implementará fornece serviços de nível de quadro e faz a decodificação real dos bits de imagem para cada quadro no contêiner. Esta classe implementa o IWICBitmapFrameDecode interface e o IWICMetadataBlockReader interface. Se estiver a escrever um decodificador para um formato bruto, também implemente a interface IWICDevelopRaw nesta classe. Além das interfaces necessárias, é altamente recomendável que você implemente a interface IWICBitmapSourceTransform nessa classe para permitir o melhor desempenho possível para seu formato de imagem.
Um dos objetos fornecidos pelo WIC é o ImagingFactory. Você freqüentemente usa o IWICComponentFactory interface neste objeto para criar vários componentes. Como isso é usado com frequência, deve-se manter uma referência a isso como uma propriedade membro nas classes de decodificador e 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);
Tópicos relacionados
-
Conceptual
-
Visão geral do componente Windows Imaging
-
Visão geral dos metadados WIC