[This is preliminary documentation and subject to change.]
The CMCreateMultiProfileTransform function accepts an array of profiles or a single device link profile and creates a color transform. This transform is a mapping from the color space specified by the first profile to that of the second profile and so on to the last one.
HCMTRANSFORM CMCreateMultiProfileTransform(
LPHPROFILE lpahProfiles, // array of profile handles
DWORD nProfiles, // profile handle array size
PDWORD padwIntents, // array of rendering intents
DWORD nIntents, // intent array size
DWORD dwFlags // transform creation flags
);
INTENT_PERCEPTUAL
INTENT_SATURATION
INTENT_RELATIVE_COLORIMETRIC
INTENT_ABSOLUTE_COLORIMETRIC
For more information, see Rendering Intents.
Set the high-order WORD to ENABLE_GAMUT_CHECKING if the transform will be used for gamut checking.
The low-order WORD can have one of the following constant values: PROOF_MODE, NORMAL_MODE, BEST_MODE. Moving from PROOF_MODE to BEST_MODE, output quality generally improves and transform speed declines.
If this function succeeds, the return value is a color transform in the range 256 to 65,535. Since only the low WORD of the transform is retained, valid transforms cannot exceed this range.
If this function fails, the return value is an error code having a value less than 256. When the return value is less than 256, signaling an error, the CMM should use SetLastError to set the last error to a valid error value as defined in Winerror.h.
Every CMM is required to export this function.
The array of intents specifies how profiles should be combined. The nth intent is used for combining the nth profile in the array. If only one intent is specified, it is used for the first profile, and all other profiles are combined using Absolute Colorimetric intent.
Windows NT: Requires version 5.0 or later.
Windows: Requires Windows 98.
Windows CE: Unsupported.
Header: Declared in wingdi.h.
Import Library: Use gdi32.lib.
Color Management Overview, ICM 2.0 Functions