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,TYPE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);
cmsHTRANSFORM
PrintTrans=cmsCreateTransform(XYZProfile,TYPE_XYZ_DBL,PrinterProfile,TYPE_RGB_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);
cmsHTRANSFORM
PrintTransInverted=cmsCreateTransform(PrinterProfile,TYPE_RGB_DBL,XYZProfile,TYPE_XYZ_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_BLACKPOINTCOMPENSATION);
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