Jerome,

It may be a bug... black point compensation should do nothing
on absolute intents. I can take a look if you send sample profiles
to i...@littlecms.com, but I am currently on trip and it will take
a week to find the bug if any. You can also ry to remove BPC, as it
does (should do) nothing on absolute intents.

Regards
Marti

Quoting Prevost Jerome <j.prev...@lectra.com>:

> Hello,
>
>
>
> I would like to know if there are some cases where using one 
> transform using several profiles is different from using multiple 
> transforms using one profile, except for speed or/and integer 
> round-offs.
>
>
>
> Here is a simple example, using double floating point values only, 
> from printer RGB to screen RGB, using two profiles.
>
>
>
>
>
> cmsSetAdaptationState(1.0);
>
>
>
> double XYZ[3]={7.0360917484/100.,4.4965961091/100.,33.2055151947/100.};
>
> cmsHPROFILE ScreenProfile=cmsOpenProfileFromFile("Eizo coloredge 
> cg210-Spectral.icm","r");
>
> cmsHPROFILE 
> PrinterProfile=cmsOpenProfileFromFile("PrinterRGBProfile_D50.icm","r");
>
> cmsHPROFILE XYZProfile = cmsCreateXYZProfile();
>
>
>
> double In[3],OutXYZ[3],Out1[3],Out2[3];
>
>
>
> cmsHTRANSFORM 
> ScreenTrans=cmsCreateTransform(XYZProfile,TYPE_XYZ_DBL,ScreenProfile,TY
PE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);
>
> cmsHTRANSFORM 
> PrintTrans=cmsCreateTransform(XYZProfile,TYPE_XYZ_DBL,PrinterProfile,TY
PE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);
>
> cmsHTRANSFORM 
> PrintTransInverted=cmsCreateTransform(PrinterProfile,TYPE_RGB_DBL,XYZPr
ofile,TYPE_XYZ_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSA
TION);
>
> cmsHTRANSFORM 
> MultiTrans=cmsCreateTransform(PrinterProfile,TYPE_RGB_DBL,ScreenProfile
,TYPE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION)
;
>
>
>
> cmsDoTransform(PrintTrans,XYZ,In,1);                  // RGB printer 
> value used as input
>
>
>
> cmsDoTransform(PrintTransInverted,In,OutXYZ,1);
>
> cmsDoTransform(ScreenTrans,OutXYZ,Out1,1);            // Printer RGB 
> to Screen, two transforms
>
> cmsDoTransform(MultiTrans,In,Out2,1);                 // Printer RGB 
> to screen, one transform
>
>
>
>
>
> With these profiles and the XYZ value (a pantone color) in D50, I get 
> two different sets of values in Out1 (two transforms) and Out2 (one 
> transform):
>
>
>
> Out1 : [3.4669261286035180 74.062259048223495 140.61089247465134] 
> (values are multiplied by 255)
>
> Out2 : [4.4552528578788042 74.062259048223495 140.58754652738571]
>
>
>
> Is this normal, due to some specific things, like chromatic 
> adaptation, rendering intents mismatches or something ?
>
> I can send the two profiles, but I don't know how or where. These are 
> made with the future I1Profiler from XRite and are V4.
>
>
>
>
>
> Jérôme.
>



------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to