Suporte para IWICDevelopRaw
Para permitir que os aplicativos suportem o processamento RAW, os autores de codec são fortemente incentivados a implementar todos os parâmetros do IWICDevelopRaw. Para o Windows 7, o Windows Imaging Component (WIC) exigirá suporte para todos os IWICDevelopRaw. Se o formato de arquivo não suportar todos esses parâmetros, você deve revisar o formato de arquivo de imagem.
Para habilitar o processamento RAW básico em aplicativos, os codecs devem oferecer suporte a ajustes de exposição (ExposureCompensationSupport) e cor (como KelvinWhitePointSupport e TintSupport). Além disso, a saída para espaços de cores e formatos de pixel específicos é altamente recomendada. O suporte para outros ajustes é, naturalmente, encorajado e é necessário para o Windows 7.
O codec RAW deve fornecer suporte básico para rotação de imagem e visualização rápida. A rotação pode ser especificada de duas maneiras distintas:
- IWICDevelopRaw::SetRotation método. Este método define o ângulo de rotação desejado para a saída de chamadas subsequentes para CopyPixels.
- IWICBitmapSourceTransform::CopyPixels método. O chamador pode definir a opção dstTransform para indicar o ângulo de rotação desejado.
Estas duas abordagens diferem das seguintes formas:
- Somente configurações de IWICDevelopRaw podem ser persistidas em instâncias do objeto decodificador.
- IWICBitmapSourceTransform::CopyPixels se aplica apenas a essa chamada específica; Não há persistência de qualquer tipo.
- IWICDevelopRaw proporciona um controlo de granulação muito mais fino em rotação. IWICBitmapSourceTransform:: CopyPixels é restrito a incrementos de 90 graus.
Se a rotação for especificada em IWICDevelopRaw e IWICBitmapSourceTransform , o efeito de rotação será cumulativo. Por exemplo, se IWICDevelopRaw especificar uma rotação de 25 graus e IWICBitmapSourceTransform especificar uma rotação de 90 graus, deverá acontecer o seguinte:
- Chamadas para IWICBitmapFrameDecode:: CopyPixels devem aplicar uma rotação de 25 graus (ou seja, apenas a quantidade especificada em IWICDevelopRaw ).
- Chamadas para IWICBitmapSourceTransform::CopyPixels com uma quantidade dstTransform de 90 e, em seguida, resultam em uma rotação de 115 graus (25 + 90).
- Novamente, apenas a rotação de 25 graus especificada via IWICDevelopRaw::SetRotation pode ser persistida.
No Windows Vista, o IWICBitmapFrameDecode::GetThumbnail e IWICBitmapDecoder::métodos de GetPreview permitem que os chamadores obtenham miniaturas incorporadas e imagens de visualização, respectivamente. Eles destinam-se a retornar visualizações e miniaturas pré-calculadas do fluxo de arquivos de imagem. Gerar visualizações ou miniaturas "em tempo real" resulta em baixo desempenho no Windows Explorer e no Visualizador de Fotos. O codec também deve fornecer uma maneira de retornar uma imagem de resolução de tela atualizada rapidamente quando os usuários estão fazendo controle interativo das configurações de processamento.
Chamadas para IWICDevelopRaw::SetRenderMode determinará quais chamadas subsequentes para IWICBitmapFrameDecode::CopyPixels retornar (favorecendo a velocidade ou a qualidade). Além disso, a interface IWICBitmapSourceTransform pode ser usada para determinar se a redução da resolução é necessária e pode aumentar o desempenho quando pode ser aplicada. A fidelidade de cor de todas as imagens deve ser comparável. Quando são feitas alterações nas configurações de processamento, todas essas renderizações devem refletir as alterações.
Tópicos relacionados
-
Conceptual
-
Visão geral do componente Windows Imaging