CMCreateMultiProfileTransform

[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
);
 

Parameters

lpahProfiles
Points to an array of profile handles.
nProfiles
Specifies the number of profiles in the array.
padwIntents
Points to an array of rendering intents. Each rendering intent is represented by one of the following values:
INTENT_PERCEPTUAL
INTENT_SATURATION
INTENT_RELATIVE_COLORIMETRIC
INTENT_ABSOLUTE_COLORIMETRIC
 

For more information, see Rendering Intents.

nIntents
Specifies the number of intents in the intent array. Can be 1, or the same value as nProfiles.
dwFlags
Specifies flags to used control creation of the transform. These flags are intended only as hints, and it is up to the CMM to determine how best to use these flags.

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.

Return Values

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.

Remarks

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.

QuickInfo

  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.

See Also

Color Management Overview, ICM 2.0 Functions