Dokument -> documentation
[AROS.git] / test / lcms / gamma.c
blobb9c4084ef2982ede63eb8d2e53ad3b6c2e87fe2f
1 #include <lcms2.h>
3 #include <stdio.h>
5 // get gamma from ICC file
7 int main(int argc, char **argv)
9 char *filename;
10 cmsHPROFILE hProfile;
11 cmsToneCurve *tc_red, *tc_green, *tc_blue;
12 int i;
14 if (argc == 2)
16 filename = argv[1];
18 else
20 filename = "SYS:Prefs/Presets/Colortables/ICC/sRGB.icc";
23 hProfile = cmsOpenProfileFromFile(filename, "r");
24 if (hProfile)
26 tc_red = cmsReadTag(hProfile, cmsSigRedTRCTag);
27 tc_green = cmsReadTag(hProfile, cmsSigGreenTRCTag);
28 tc_blue = cmsReadTag(hProfile, cmsSigBlueTRCTag);
29 if (tc_red && tc_green && tc_blue)
31 for (i=0; i < 256; i++)
33 printf("i %d red %u green %u blue %u\n", i, cmsEvalToneCurve16(tc_red, i * 256) >> 8, cmsEvalToneCurve16(tc_green, i * 256) >> 8, cmsEvalToneCurve16(tc_blue, i * 256) >> 8);
36 else
38 puts("Gamma tags missing");
40 cmsCloseProfile(hProfile);
42 else
44 puts("Couldn't open ICC file");
45 return 1;
47 return 0;