On May 8, 2008, at 19:15:12, Alastair M. Robinson wrote: > What you probably could do is create the individual stages of your > transform with cmsCreateTransform(), convert these transforms to > DeviceLinks with cmsTransform2DeviceLink(), and then chain the > devicelinks together using cmsCreateMultiprofileTransform().
I've had time to get back to handling a 4-profile transform and have run into a problem. I'll start with the profiles in use in my test case, in this order: profs[0] = input (rgb) profs[1] = printer (cmyk) profs[2] = proofer (cmyk) profs[3] = monitor (rgb) I first create 2 xforms, one for input -> printer, and another for proofer -> monitor. xform1 = cmsCreateTransform(profs[0], fromFormat, profs[1], lcmsSpace2lcmsFormat(cmsGetColorSpace(profs[1]), true, bytesPerChannel), cmsTakeRenderingIntent(profs[0]), 0); xform2 = cmsCreateTransform(profs[2], lcmsSpace2lcmsFormat(cmsGetColorSpace(profs[2]), true, bytesPerChannel), profs[3], toFormat, cmsTakeRenderingIntent(profs[2]), 0); Note that fromFormat is the format for the input data used with the input profile, and toFormat is the format for the output data used with the monitor profile. What I might be getting wrong here are the other 2 formats; xform1's output format, and xform2's input format. Does my code look correct for those? The xforms are then converted to device link profiles: link1 = cmsTransform2DeviceLink(xform1, 0); link2 = cmsTransform2DeviceLink(xform2, 0); And the final xform is created from those: xform = cmsCreateMultiprofileTransform(links, 2, fromFormat, toFormat, cmsTakeRenderingIntent(profs[1]), 0); The end result is that I get error "Invalid PCS" when GetPhase is called on the link2 profile - it's icSigRgbData. How do I fix this? If I instead call: xform = cmsCreateTransform(link1, fromFormat, link2, toFormat, cmsTakeRenderingIntent(profs[1]), 0); which I did just as a test, I get the error "Device link is operating on wrong colorspace on output" for link1. _________________________________________________________ Steve Mills Me: 952-401-6255 Senior Software Architect MultiAd [EMAIL PROTECTED] www.multi-ad.com ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user