Prise en charge d’IWICDevelopRaw
Pour permettre aux applications de prendre en charge le traitement RAW, les auteurs de codecs sont fortement encouragés à implémenter tous les paramètres d’IWICDevelopRaw. Pour Windows 7, le composant d’acquisition d’images Windows (WIC) nécessite la prise en charge de tous les IWICDevelopRaw. Si votre format de fichier ne prend pas en charge tous ces paramètres, vous devez modifier le format de votre fichier image.
Pour activer le traitement RAW de base dans les applications, les codecs doivent prendre en charge les ajustements de l’exposition (ExposureCompensationSupport) et de la couleur (par exemple, KelvinWhitePointSupport et TintSupport). En outre, la sortie vers des espaces de couleurs et des formats de pixels spécifiques est fortement recommandée. La prise en charge d’autres ajustements est, bien sûr, encouragée et requise pour Windows 7.
Le codec RAW doit fournir une prise en charge de base pour la rotation d’images et l’aperçu rapide. La rotation peut être spécifiée de deux manières distinctes :
- Méthode IWICDevelopRaw::SetRotation . Cette méthode définit l’angle de rotation souhaité pour la sortie des appels suivants à CopyPixels.
- Méthode IWICBitmapSourceTransform::CopyPixels . L’appelant peut définir l’option dstTransform pour indiquer l’angle de rotation souhaité.
Ces deux approches diffèrent des manières suivantes :
- Seuls les paramètres IWICDevelopRaw peuvent être conservés entre les instances de l’objet décodeur.
- IWICBitmapSourceTransform::CopyPixels s’applique uniquement à cet appel particulier ; il n’y a aucune persistance d’aucune sorte.
- IWICDevelopRaw offre un contrôle beaucoup plus fin en rotation. IWICBitmapSourceTransform::CopyPixels est limité à des incréments de 90 degrés.
Si la rotation est spécifiée dans IWICDevelopRaw et IWICBitmapSourceTransform, l’effet de rotation est cumulatif. Par exemple, si IWICDevelopRaw spécifie une rotation de 25 degrés et IWICBitmapSourceTransform spécifie une rotation de 90 degrés, les opérations suivantes doivent se produire :
- Les appels à IWICBitmapFrameDecode::CopyPixels doivent appliquer une rotation de 25 degrés (autrement dit, uniquement la quantité spécifiée dans IWICDevelopRaw).
- Les appels à IWICBitmapSourceTransform::CopyPixels avec une quantité dstTransform de 90 entraînent ensuite une rotation de 115 degrés (25 + 90).
- Là encore, seule la rotation à 25 degrés spécifiée via IWICDevelopRaw::SetRotation peut être conservée.
Dans Windows Vista, les méthodes IWICBitmapFrameDecode::GetThumbnail et IWICBitmapDecoder::GetPreview permettent aux appelants d’obtenir des miniatures incorporées et des images d’aperçu, respectivement. Celles-ci sont destinées à renvoyer des aperçus et des miniatures précalculés à partir du flux de fichiers image. La génération de préversions ou de miniatures « à la volée » entraîne des performances médiocres dans windows Explorer et Visionneuse de photos. Le codec doit également fournir un moyen de retourner rapidement une image de résolution d’écran mise à jour lorsque les utilisateurs effectuent un contrôle interactif des paramètres de traitement.
Les appels à IWICDevelopRaw::SetRenderMode déterminent les appels suivants à IWICBitmapFrameDecode::CopyPixels retournés (en favorisant la vitesse ou la qualité). En outre, l’interface IWICBitmapSourceTransform peut être utilisée pour déterminer si le sous-échantillonnage est nécessaire et peut augmenter les performances lorsqu’il peut être appliqué. La fidélité des couleurs de toutes les images doit être comparable. Lorsque des modifications sont apportées aux paramètres de traitement, tous ces rendus doivent refléter les modifications.
Rubriques connexes