I migrate an old application from jre6 to jre7. Among others the application uses classes ICC_Transform and ICC_Profile to scale and compose images.
With Java 1.7 I didn't find the classes anymore. Did a lot of investigation and found LCMS.
Found further in jre7 a package in rt.jar->sun.java2d.cmm.lcms with the classes I like to use.
Wrote a small test app to see how it works. I'm always running into exception:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lcms in java.library.path
Do I need to provide the lcms.dll?
I did (downloaded source, build dll and put it into library path with -Djava.library.path=D:\Work\LcmsTest ), but it does not solve my problem.
Are there examples how to use the classes in the lcms package?
Thanks for informations.
You shouldn't be using any proprietary API. Read the warning that javac displays at compile time.
What's the special requirement that dissuades you from scaling and composing images using public API?
the old application uses various render intent like Perceptual, Saturation, Relative Colorimetric and Absolute Colorimetric according configurations.
According my current knowhow not all render intents are available in public api.
I'would like to refine my questions a bit to get some answers:
What is the intention of the classes in the package rt.jar->sun.java2d.cmm.lcms?
Are these classes wrappers for LittleCMS?
If so on what lcms version (1 or 2) are the classes based on?
jre6 provides class rt.jar->sun.awt.color.ICC_Transform. jre7 does not. Is their an alternative to use?
Maybe somebody has experience with rt.jar->sun.java2d.cmm.lcms?
Any tip, hint or idea is greatly appreciated.