Re: [Lcms-user] Getting the profile whitepoint
An ICC-based CMM for color management
Brought to you by:
mm2
|
From: <mar...@li...> - 2012-11-23 10:33:02
|
Hi,
> As an aside, I did wonder about the documentation for
> cmsCreateExtendedTransform.
>
> cmsCreateExtendedTransform(cmsContext ContextID,
> cmsUInt32Number nProfiles, cmsHPROFILE hProfiles[],
> cmsBool BPC[],
> cmsUInt32Number Intents[],
> cmsFloat64Number AdaptationStates[],
> cmsHPROFILE hGamutProfile,
> cmsUInt32Number nGamutPCSposition,
> cmsUInt32Number InputFormat,
> cmsUInt32Number OutputFormat,
> cmsUInt32Number dwFlags);
>
> What I expected was nProfiles = 2, hProfiles[2], BPC[2], Intents[1],
> AdaptationStates[2], i.e. you set (nProfiles-1) worth of transform
> data. If you do this it doesn't work, and so I have to do something
> odd like:
>
> cmsUInt32Number intents[2] = { INTENT_ABSOLUTE_COLORIMETRIC,
> INTENT_ABSOLUTE_COLORIMETRIC };
>
Ok, this function allows you to specify intents *per profile*, that means
you can use relative colorimetric when going from RGB to PCS in the first
profile and perceptual when going PCS to second profile. Mixing intents
is generally a bad idea, but there are situations where it can be
useful. So here is the functionality.
> Also I don't think BPC makes sense for absolute-colorimetric, and I
> kinda expected to be able to pass NULL there. If you do that it blows
> up :)
Right. I will try to fix that in next release (maybe NULL would mean
no BPC?)
Regards
Marti
|