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