Compatibilidad con IWICDevelopRaw
Para permitir que las aplicaciones admitan el procesamiento RAW, se recomienda encarecidamente a los autores de códecs implementar todos los parámetros de IWICDevelopRaw. Para Windows 7, el componente de imágenes de Windows (WIC) requerirá compatibilidad con todos los IWICDevelopRaw. Si el formato de archivo no admite todos estos parámetros, debe revisar el formato de archivo de imagen.
Para habilitar el procesamiento BÁSICO raw en aplicaciones, los códecs deben admitir ajustes de exposición (ExposureCompensationSupport) y color (como KelvinWhitePointSupport y TintSupport). Además, se recomienda encarecidamente la salida a espacios de color y formatos de píxeles específicos. La compatibilidad con otros ajustes es, por supuesto, se recomienda y es necesaria para Windows 7.
El códec RAW debe proporcionar compatibilidad básica para la rotación de imágenes y la vista previa rápida. La rotación se puede especificar de dos maneras distintas:
- método IWICDevelopRaw::SetRotation. Este método establece el ángulo de rotación deseado para la salida de las llamadas posteriores a CopyPixels.
- IWICBitmapSourceTransform::método CopyPixels. El autor de la llamada puede establecer la opción dstTransform para indicar el ángulo de rotación deseado.
Estos dos enfoques difieren de las siguientes maneras:
- Solo se puede conservar configuración de IWICDevelopRaw en instancias del objeto descodificador.
- IWICBitmapSourceTransform::copyPixels solo se aplica a esa llamada concreta; no hay persistencia de ningún tipo.
- IWICDevelopRaw proporciona un control más preciso en la rotación. IWICBitmapSourceTransform:: copyPixels está restringido a incrementos de 90 grados.
Si se especifica la rotación en IWICDevelopRaw y IWICBitmapSourceTransform, el efecto de rotación es acumulativo. Por ejemplo, si IWICDevelopRaw especifica una rotación de 25 grados y IWICBitmapSourceTransform especifica una rotación de 90 grados, debería ocurrir lo siguiente:
- Las llamadas a IWICBitmapFrameDecode::copyPixels deben aplicar una rotación de 25 grados (es decir, solo la cantidad especificada en IWICDevelopRaw).
- Llamadas a IWICBitmapSourceTransform::copyPixels con una cantidad dstTransform de 90 y, a continuación, dan como resultado una rotación de 115 grados (25 + 90).
- De nuevo, solo se puede conservar la rotación de 25 grados especificada a través de IWICDevelopRaw::SetRotation.
En Windows Vista, el IWICBitmapFrameDecode::GetThumbnail y IWICBitmapDecoder::métodos GetPreview permiten a los autores de llamadas obtener miniaturas incrustadas y obtener imágenes en vista previa, respectivamente. Están diseñados para devolver vistas previas precalculadas y miniaturas de la secuencia de archivos de imagen. La generación de vistas previas o miniaturas "sobre la marcha" da como resultado un rendimiento deficiente en el Explorador de Windows y el Visor de fotos. El códec también debe proporcionar una manera de devolver rápidamente una imagen de resolución de pantalla actualizada cuando los usuarios realizan un control interactivo de la configuración de procesamiento.
Las llamadas a IWICDevelopRaw::SetRenderMode determinarán qué llamadas posteriores a IWICBitmapFrameDecode::CopyPixels devolver (favoreciendo la velocidad o la calidad). Además, la interfaz IWICBitmapSourceTransform se puede usar para determinar si es necesario reducir el muestreo y puede aumentar el rendimiento cuando se pueda aplicar. La fidelidad de color de todas las imágenes debe ser comparable. Cuando se realizan cambios en la configuración de procesamiento, todas estas representaciones deben reflejar los cambios.
Temas relacionados
-
conceptual de
-
cómo escribir un CODEC de WIC-Enabled