I want you to know that I found a nu-get package for C# designed to extract metadata, including ICC profiles, out of JPEG, TIF, BMP. PNG and a host of other images.
https://drewnoakes.com/code/exif/ It's very interesting... Here is a sample of an ICC profile metadata extracted from an RGB JPEG image : [10] "JPEG Component 1 Unknown (0) component: Quantization table 0, Sampling factors 2 horiz/2 vert" object {string} [11] "JPEG Component 2 Y component: Quantization table 1, Sampling factors 1 horiz/1 vert" object {string} [12] "JPEG Component 3 Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert" object {string} [13] "JpegComment JPEG Comment *\0" object {string} [14] "JFIF Version 1.2" object {string} [15] "JFIF Resolution Units none" object {string} [16] "JFIF X Resolution 1 dot" object {string} [17] "JFIF Y Resolution 1 dot" object {string} [18] "JFIF Thumbnail Width Pixels 0" object {string} [19] "JFIF Thumbnail Height Pixels 0" object {string} [20] "ICC Profile Profile Size 3048" object {string} [21] "ICC Profile Version 2.0.0" object {string} [22] "ICC Profile Class Display Device" object {string} [23] "ICC Profile Color space RGB " object {string} [24] "ICC Profile Profile Connection Space XYZ " object {string} [25] "ICC Profile Profile Date/Time 2009:03:27 21:36:31" object {string} [26] "ICC Profile Signature acsp" object {string} [27] "ICC Profile Device attributes 4294967296" object {string} [28] "ICC Profile XYZ values 0.964 1 0.825" object {string} [29] "ICC Profile Tag Count 16" object {string} [30] "ICC Profile Profile Description sRGB IEC61966-2-1 black scaled" object {string} [31] "ICC Profile Blue Colorant (0.1431, 0.0606, 0.7141)" object {string} [32] "ICC Profile Blue TRC 0.0, 0.0000763, 0.0001526, ... snip ... 0.9955596, 0.9977722, 1.0" object {string} [33] "ICC Profile Device Model Description IEC 61966-2-1 Default RGB Colour Space - sRGB" object {string} [34] "ICC Profile Green Colorant (0.3851, 0.7169, 0.0971)" object {string} [35] "ICC Profile Green TRC 0.0, 0.0000763, 0.0001526 ... snip ... 0.9933471, 0.9955596, 0.9977722, 1.0" object {string} [36] "ICC Profile Luminance (0, 80, 0)" object {string} [37] "ICC Profile Measurement 1931 2° Observer, Backing (0, 0, 0), Geometry Unknown, Flare 0%, Illuminant D65" object {string} [38] "ICC Profile Media Black Point (0.0121, 0.0125, 0.0103)" object {string} [39] "ICC Profile Red Colorant (0.4361, 0.2225, 0.0139)" object {string} [40] "ICC Profile Red TRC 0.0, 0.0000763, 0.0001526, ... snip ... 0.9933471, 0.9955596, 0.9977722, 1.0" object {string} [41] "ICC Profile Technology CRT " object {string} Next question is how can I use this data to create an ICC profile that I pass to LittleCMS? There is cmsOpenProfileFromMem but I am sure it's going to take me a while to figure the correct memory structure. I could use cmsCreateRGBProfile to create a matrix/shaper profile from the extracted data? Which is what the embedded profile in this JPEG was all about. My goal, in my application, is to determine whether the open image in Windows WPF *has* an embedded profile and if that is the case, to use the embedded profile to convert color to the monitor's profile. / Roger ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user