From: Glenn Randers-P. <gl...@gm...> - 2011-09-29 23:54:55
|
I'm working on some applications that read various image formats that might have embedded iCC sRGB color profiles, and convert to and from png. In theory, it's supposed to be OK to recognize the sRGB profile and just write the sRGB profile in the PNG. Now comes the rub: when we read a PNG with an sRGB chunk and write to a format that doesn't have the equivalent of the sRGB chunk but does allow embedded color profiles, which sRGB profile should the application write? There are two version-2 profiles (with and without blackpoint compensation) and one version-4 profile which is much larger and claimed by ICC to produce better-looking results. I am leaning toward providing an option for the user to select version 2 or version 4. What should be the default? v4 has been out for 10 years, and ICC seems to recommend using v4 (see http://www.color.org/v4spec.xalter). What to do about the black-point compensated one? Currently I am recognizing these profiles by their length and by the presence of "sRGB" at a certain offset. I think there are other sRGB profiles floating around that won't be recognized this way. Glenn |