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

Reply via email to