STRUCTURE LOGCOLORSPACEA (wingdi.h)
La structure LOGCOLORSPACE contient des informations qui définissent un espace de couleur 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 les lcsEndpoints membre avant d’être passés à l’appareil. |
LCS_sRGB | Les valeurs de couleur sont des valeurs sRVB. |
LCS_WINDOWS_COLOR_SPACE | Les valeurs de couleur sont des valeurs de couleur d’espace de couleur windows par défaut. |
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 | Intention | Nom de la CPI | Signification |
---|---|---|---|
LCS_GM_ABS_ |
Allumette | Colorimétrique absolue | Conservez le point blanc. Faire correspondre les couleurs à leur couleur la plus proche dans la gamme de destination. |
LCS_GM_ |
Graphique | Saturation | Maintenir la saturation. Utilisé pour les graphiques métier et d’autres situations dans lesquelles des couleurs non attachées sont requises. |
LCS_GM_ |
Preuve | Colorimetric relatif | Conservez la correspondance colorimétrique. Utilisé pour les conceptions graphiques et les couleurs nommées. |
LCS_GM_ |
Image | Perceptuel | Conservez le contraste. Utilisé pour les photographies et les images naturelles. |
lcsEndpoints
Points de terminaison rouges, verts et bleus.
lcsGammaRed
Échelle de la coordonnée rouge.
lcsGammaGreen
Échelle de la coordonnée verte.
lcsGammaBlue
É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 couleur 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 couleur 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 complètement précises.
Remarques
Comme les palettes, mais contrairement aux stylets et 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 couleur sRGB. Les lcsEndpoints,lcsGammaRed, lcsGammaGreen, et membres lcsGammaBlue sont utilisés pour décrire l’espace de couleur logique. Le lcsEndpoints membre est un CIEXYZTRIPLE qui contient les valeurs x, y et z du point de terminaison RVB de l’espace de couleur.
Le format de bits DWORD requis pour les lcsGammaRed, lcsGammaGreenet lcsGammaBlue est un entier à virgule fixe de 8,8 bits décalé de 8 bits. Cela signifie que 8 bits entiers sont suivis de 8 bits de fraction. En tenant compte du décalage de bits, le format requis du DWORD 32 bits est :
00000000nnnnnnnnffffff00000000
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 couleur dans le fichier comme espace de couleur auquel cette LOGCOLORSPACE structure fait référence.
La relation entre les valeurs tri-stimulus X,Y,Z et les valeurs de chromatique 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 couleur sRGB. Les applications doivent toujours initialiser le reste de la structure, car CreateProfileFromLogColorSpace ignore le membre lcsCSType et utilise des lcsEndpoints, lcsGammaRed, lcsGammaGreen, lcsGammaBlue membres pour créer un profil, qui peut ne pas être initialisé en cas d’LCS_sRGB ou d’espaces de couleurs LCS_WINDOWS_COLOR_SPACE.
Note
L’en-tête wingdi.h définit LOGCOLORSPACE comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
d’en-tête | wingdi.h |