LOGCOLORSPACE

[This is preliminary documentation and subject to change.]

The LOGCOLORSPACE structure contains information that defines a logical color space.

typedef struct tagLOGCOLORSPACE {
    DWORD         lcsSignature; 
    DWORD         lcsVersion; 
    DWORD         lcsSize; 
    LCSCSTYPE     lcsCSType; 
    LCSGAMUTMATCH lcsIntent; 
    CIEXYZTRIPLE  lcsEndpoints;
    DWORD         lcsGammaRed;
    DWORD         lcsGammaGreen; 
    DWORD         lcsGammaBlue;
    TCHAR         lcsFilename[MAX_PATH]; 
} LOGCOLORSPACE, *LPLOGCOLORSPACE; 
 

Members

lcsSignature
Color space signature. At present, this member should always be set to LCS_SIGNATURE.
lcsVersion
Version number; must be 0x400.
lcsSize
Size of this structure, in bytes.
lcsCSType
Color space type. The member can be one of the following values.
Value Meaning
LCS_CALIBRATED_RGB Color values are calibrated RGB values. The values are translated using the endpoints specified by the lcsEndpoints member before being passed to the device.
LCS_sRGB Color values are values are sRGB values.
LCS_WINDOWS_COLOR_SPACE Color values are Windows default color space color values.

If LCS_CALIBRATED_RGB is not specified, the lcsEndpoints member is ignored.

lcsIntent
The gamut mapping method. This member can be one of the following values.
Value Meaning
LCS_GM_ABS_COLORIMETRIC Maintain the white point. Match the colors to their nearest color in the destination gamut.
LCS_GM_BUSINESS Maintain saturation. Used for business charts and other situations in which undithered colors are required.
LCS_GM_GRAPHICS Maintain colorimetric match. Used for graphic designs and named colors.
LCS_GM_IMAGES Maintain contrast. Used for photographs and natural images.

These gamut mapping methods provide a one-to-one correspondence with the rendering intents defined in the ICC Profile Format Specification version 3.3. The LCS_GM_ABS_COLORIMETRIC method is equivalent to an absolute colorimetric rendering intent. LCS_GM_BUSINESS corresponds to a saturated rendering intent. LCS_GM_GRAPHICS is relative colorimetric intent. LCS_GM_IMAGES is perceptual rendering intent.

lcsEndpoints
Red, green, blue endpoints.
lcsGammaRed
Scale of the red coordinate.
lcsGammaGreen
Scale of the green coordinate.
lcsGammaBlue
Scale of the blue coordinate.
lcsFilename
A null-terminated string that names a color profile file. This member is typically set to zero, but may be used to set the color space to be exactly as specified by the color profile. This is useful for devices that input color values for a specific printer, or when using an installable image color matcher. If a color profile is specified, all other members of this structure should be set to reasonable values, even if the values are not completely accurate.

Remarks

If the lcsCSType member is set to LCS_sRGB or LCS_WINDOWS_COLOR_SPACE, the other members of this structure are ignored, and ICM uses the sRGB color space. The lcsEndpoints, lcsGammaRed, lcsGammaGreen, and lcsGammaBlue members are used to describe the logical color space. The lcsEndpoints member is a CIEXYZTRIPLE that contains the x, y, and z values of the color space's RGB endpoint.

Whenever the lcsFilename member contains a file name and the lcsCSType member is set to LCS_CALIBRATED_RGB, ICM ignores the other members of this structure. It uses the color space in the file as the color space to which this LOGCOLORSPACE structure refers.

The relation between tri-stimulus values X,Y,Z and chromaticity values x,y,z is as follows

x = X/(X+Y+Z)

y = Y/(X+Y+Z)

z = Z/(X+Y+Z)

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in wingdi.h.
  Unicode: Defined as Unicode and ANSI structures.

See Also

RGB, CMYK, BITMAPV4HEADER, BITMAPV5HEADER