sRGB : espace de couleurs standard
En raison des considérations relatives à la bande passante Internet, Hewlett-Packard et Microsoft ont proposé l’adoption d’un espace de couleurs prédéfini standard appelé sRGB (IEC 61966-2-1), afin de permettre un mappage de couleurs précis avec très peu de surcharge de données.
Une version de fichier d’aide d’un livre blanc traitant des détails techniques de sRGB, sRGB.hlp, est disponible dans le dossier \Help de la référence du programmeur WCS 1.0.
Différents formats de fichier peuvent utiliser ou ajouter un indicateur pour spécifier que l’image se trouve dans l’espace de couleur sRGB. Au format DIB (Device-Independent Bitmap) Windows, la définition du membre bV5CSType de la structure BITMAPV5HEADER sur LCS_sRGB spécifie que les couleurs DIB se trouvent dans l’espace de couleurs sRGB.
WCS 1.0 fournit une prise en charge native de sRGB. Il existe deux façons d’utiliser WCS 1.0 pour le rendu d’une image définie dans l’espace de couleurs sRGB :
Pour afficher une image dans le contexte de l’appareil
- Créez un contexte d’appareil (DC) sur l’appareil d’affichage.
- Définissez la gestion des couleurs à l’aide de la fonction SetICMMode .
- Utilisez la fonction SetDIBitsToDevice pour transférer la DIB dans le contrôleur de domaine. Tant que le membre bV5CSMType de la structure BITMAPV5HEADER est défini sur LCS_sRGB, le système effectue la gestion des couleurs appropriée.
Pour afficher une image en dehors du contexte de l’appareil
- Créez une transformation à l’aide de CreateColorTransformW. Le membre lcsCSType de la structure LOGCOLORSPACE pointée vers le paramètre pLogColorSpace doit être défini sur LCS_sRGB. Le paramètre hDestProfile indique l’espace de couleurs de l’appareil d’affichage.
- Utilisez la transformation de couleur créée pour colorier l’image avant de l’afficher sur l’appareil.
Valeurs par défaut de WCS 1.0 pour l’espace de couleur d’entrée et le profil de sortie
Quand aucun espace de couleur d’entrée n’est spécifié, PAR défaut, WCS 1.0 utilise l’espace de couleur sRGB comme espace de couleur d’entrée pour le mappage des couleurs.
Lorsqu’aucun profil de sortie n’est spécifié, mais qu’un appareil par défaut est spécifié, WCS 1.0 sélectionne un profil de sortie par défaut. Si l’appareil par défaut n’a pas de profil associé, WCS 1.0 utilise l’espace de couleur sRGB comme profil de sortie.
Le tableau suivant montre les transformations de couleurs résultantes lorsqu’un appareil par défaut n’est pas disponible.
Profil de sortie spécifié | Profil de sortie non spécifié | |
---|---|---|
Espace de couleur d’entrée spécifié | La transformation utilise les profils spécifiés. | La transformation convertit l’espace de couleur d’entrée connu en sRGB. |
Espace de couleur d’entrée non spécifié | La transformation convertit de sRGB en profil de sortie connu. | La transformation de sRGB en sRGB est supposée ; rien n’est fait. |
Profils sRGB et incorporés
À compter d’ICM version 2.0, les applications qui utilisent WCS peuvent incorporer des profils dans des images. Les profils incorporés aident les applications des utilisateurs à maintenir une apparence de couleur cohérente, même si les images sont transmises sur Internet.
Les images qui utilisent l’espace colorimétrique sRGB n’ont pas besoin d’un profil de couleur incorporé. Étant donné qu’elles n’ont pas de profil incorporé, les images sRGB sont plus petites et plus facilement transférables sur les canaux de données avec une bande passante limitée.
Les applications doivent définir l’indicateur LCS_sRGB dans l’en-tête bitmap de l’image pour indiquer que l’image utilise l’espace de couleur sRGB. Pour plus d’informations, consultez Structures d’en-têtes bitmap Windows et LOGCOLORSPACE.