Implementando um codificador WIC-Enabled
Introdução
A implementação de um codificador wic (componente de imagem do Windows) requer a gravação de duas classes, como também é verdadeiro para implementar um decodificador WIC. As interfaces nessas classes correspondem diretamente às responsabilidades do codificador descritas na seção Codificação de Como funciona o componente de imagem do Windows.
Uma das classes fornece serviços de nível de contêiner e gerencia a serialização dos quadros de imagem individuais dentro do contêiner. Essa classe implementa a interface IWICBitmapEncoder . Se o formato de imagem der suporte a metadados no nível do contêiner, você também deverá implementar a interface IWICMetadataBlockWriter nessa classe.
A outra classe fornece serviços de nível de quadro e faz a codificação real dos bits de imagem para cada quadro no contêiner. Ele também itera pelos blocos de metadados de cada quadro e solicita os gravadores de metadados apropriados para serializar os blocos. Essa classe implementa a interface IWICBitmapFrameEncode e a interface IWICMetadataBlockWriter . Essa classe deve ter um membro IStream que a classe de nível de contêiner inicializa na instanciação, na qual o método Commit serializará os dados de quadro.
Em alguns casos, como formatos brutos, o autor do codec pode não querer que os aplicativos possam codificar ou recodificar para o formato bruto, pois a finalidade de um arquivo bruto é conter os dados do sensor exatamente como vieram da câmera. Nos casos em que o autor do codec não deseja habilitar a codificação, ainda é necessário implementar um codificador rudimentar apenas para habilitar a adição de metadados. Nesse caso, o codificador só precisa dar suporte a esses métodos necessários para gravar metadados e pode copiar os bits de imagem intocados do decodificador.
Tópicos relacionados
-
Referência
-
Conceitual