Hello, For profiles without any gamut information (like display profiles) , I use to use a < back and forth > transform PCS->Device->PCS using the CreateMultiprofileTransform() function. When I transform the Lab boundary, I got something similar to the gamut boundary of the profile. As I'm migrating to V2, I got different results.
I get sometimes identity. It depends on the profile. For printer ones, it seems to work. For display ones, some of them return identity, other return much larger gamut than expected and perhaps some return the same results than before. I guess that the analysis of the transformation is different according the stages (LUT, matrix, CLUTs and so on..). Probably, it's not the way I should do to get what I expect ! Now, this results in an identity profile if I use this code (sRGB profile) : double In[3],Out[3]; cmsSetLogErrorHandler(ErrorLog); cmsHPROFILE sRGB=cmsCreate_sRGBProfile(); cmsHPROFILE XYZ=cmsCreateXYZProfile(); cmsHPROFILE Profiles[4]={XYZ,sRGB,sRGB,XYZ}; cmsHTRANSFORM Trans=cmsCreateMultiprofileTransform(Profiles,4,TYPE_XYZ_DBL,TYPE_XYZ_DBL,INTENT_ABSOLUTE_COLORIMETRIC,cmsFLAGS_HIGHRESPRECALC); In[0]=0.75; In[1]=0.50; In[2]=0.45; cmsDoTransform(Trans,In,Out,1); cmsDeleteTransform(Trans); cmsCloseProfile(sRGB); The Out array always have the original values whatever the In array contains, not the ones expected because of some gamut mapping. I guess that's it's an optimization somewhere that detects an identity where there is not. Is it normal ? Or, is there a different way now to do this correctly (other function or flags) ? Thanks in advance, J.
------------------------------------------------------------------------------
_______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user