STRUCTURE LOGCOLORSPACEA (wingdi.h)
La structure LOGCOLORSPACE contient des informations qui définissent un espace de couleurs logique.
Syntaxe
typedef struct tagLOGCOLORSPACEA {
DWORD lcsSignature;
DWORD lcsVersion;
DWORD lcsSize;
LCSCSTYPE lcsCSType;
LCSGAMUTMATCH lcsIntent;
CIEXYZTRIPLE lcsEndpoints;
DWORD lcsGammaRed;
DWORD lcsGammaGreen;
DWORD lcsGammaBlue;
CHAR lcsFilename[MAX_PATH];
} LOGCOLORSPACEA, *LPLOGCOLORSPACEA;
Membres
lcsSignature
Signature d’espace de couleur. À l’heure actuelle, ce membre doit toujours être défini sur LCS_SIGNATURE.
lcsVersion
Numéro de version ; doit être 0x400.
lcsSize
Taille de cette structure, en octets.
lcsCSType
Type d’espace de couleur. Le membre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
LCS_CALIBRATED_RGB | Les valeurs de couleur sont des valeurs RVB étalonnées. Les valeurs sont traduites à l’aide des points de terminaison spécifiés par le membre lcsEndpoints avant d’être transmises à l’appareil. |
LCS_sRGB | Les valeurs de couleur sont des valeurs sRGB. |
LCS_WINDOWS_COLOR_SPACE | Les valeurs de couleur sont des valeurs de couleur d’espace de couleur par défaut de Windows. |
Si LCS_CALIBRATED_RGB n’est pas spécifié, le membre lcsEndpoints est ignoré.
lcsIntent
Méthode de mappage de gamut. Ce membre peut être l’une des valeurs suivantes.
Valeur | Intentionnel | Nom ICC | Signification |
---|---|---|---|
LCS_GM_ABS_ |
Correspond | Colorimétrie absolue | Conservez le point blanc. Faire correspondre les couleurs à leur couleur la plus proche dans la gamme de destination. |
LCS_GM_ |
Graphic | Saturation | Maintenir la saturation. Utilisé pour les graphiques métier et d’autres situations dans lesquelles des couleurs non associées sont requises. |
LCS_GM_ |
Proof | Colorimétrie relative | Maintenir la correspondance colorimétrique. Utilisé pour les conceptions graphiques et les couleurs nommées. |
LCS_GM_ |
Image | Perception | Maintenir le contraste. Utilisé pour les photographies et les images naturelles. |
lcsEndpoints
Points de terminaison rouges, verts et bleus.
lcsGammaRed
Mise à l’échelle de la coordonnée rouge.
lcsGammaGreen
Mise à l’échelle de la coordonnée verte.
lcsGammaBlue
Mise à l’échelle de la coordonnée bleue.
lcsFilename[MAX_PATH]
Chaîne terminée par null qui nomme un fichier de profil de couleur. Ce membre est généralement défini sur zéro, mais peut être utilisé pour définir l’espace de couleurs exactement comme spécifié par le profil de couleur. Cela est utile pour les appareils qui entrent des valeurs de couleur pour une imprimante spécifique, ou lors de l’utilisation d’un matcheur de couleurs d’image installable. Si un profil de couleur est spécifié, tous les autres membres de cette structure doivent être définis sur des valeurs raisonnables, même si les valeurs ne sont pas totalement exactes.
Remarques
Comme les palettes, mais contrairement aux stylets et aux pinceaux, un pointeur doit être passé lors de la création d’un LogColorSpace.
Si le membre lcsCSType est défini sur LCS_sRGB ou LCS_WINDOWS_COLOR_SPACE, les autres membres de cette structure sont ignorés et WCS utilise l’espace de couleurs sRGB. Les membres lcsEndpoints,lcsGammaRed, lcsGammaGreen et lcsGammaBlue sont utilisés pour décrire l’espace de couleurs logique. Le membre lcsEndpoints est un CIEXYZTRIPLE qui contient les valeurs x, y et z du point de terminaison RVB de l’espace de couleurs.
Le format de bits DWORD requis pour lcsGammaRed, lcsGammaGreen et lcsGammaBlue est un entier à point fixe 8,8 décalé vers la gauche de 8 bits. Cela signifie que 8 bits entiers sont suivis de 8 bits de fraction. Si l’on tient compte du décalage de bits, le format requis du DWORD 32 bits est le suivant :
00000000000nnnnnnff0000000000000
Chaque fois que le membre lcsFilename contient un nom de fichier et que le membre lcsCSType est défini sur LCS_CALIBRATED_RGB, WCS ignore les autres membres de cette structure. Il utilise l’espace de couleurs dans le fichier comme espace de couleurs auquel fait référence cette structure LOGCOLORSPACE .
La relation entre les valeurs de trois stimulus X,Y,Z et les valeurs de chromaticité x,y,z est la suivante :
x = X/(X+Y+Z)
y = Y/(X+Y+Z)
z = Z/(X+Y+Z)
Si le membre lcsCSType est défini sur LCS_sRGB ou LCS_WINDOWS_COLOR_SPACE, les autres membres de cette structure sont ignorés et ICM utilise l’espace de couleurs sRGB. Les applications doivent toujours initialiser le reste de la structure, car CreateProfileFromLogColorSpace ignore le membre lcsCSType et utilise les membres lcsEndpoints, lcsGammaRed, lcsGammaGreen et lcsGammaBlue pour créer un profil, qui ne peut pas être initialisé en cas d’espaces de couleurs LCS_sRGB ou LCS_WINDOWS_COLOR_SPACE.
Notes
L’en-tête wingdi.h définit LOGCOLORSPACE comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | wingdi.h |