summaryrefslogtreecommitdiffstats
path: root/debian/lcms/lcms-1.19.dfsg2/Delphi/Samples/gamutchk.pas
blob: e2975bfabfffafaf11e83b5bd72ed67fb1f7129a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
PROGRAM GamutChk;

USES lcmsdll, Windows;


VAR
        hLabProfile, hDisplayProfile, hProof: cmsHPROFILE;
        ProofTransform : cmsHTRANSFORM;
        Lab: cmsCIELab;
        wRGB: ARRAY [0..2] OF Byte;

BEGIN
     WriteLn('Gamut check test');

     hLabProfile     := cmsCreateLabProfile(NIL);
     hDisplayProfile := cmsCreate_sRGBProfile();
     hProof          := cmsOpenProfileFromFile('test.icm', 'r');


    ProofTransform:=cmsCreateProofingTransform(hLabProfile,
                        TYPE_Lab_DBL,
                        hDisplayProfile,
                        TYPE_RGB_8,
                        hProof,
                        INTENT_RELATIVE_COLORIMETRIC,
                        INTENT_ABSOLUTE_COLORIMETRIC,
			cmsFLAGS_SOFTPROOFING OR cmsFLAGS_GAMUTCHECK OR cmsFLAGS_NOTPRECALC);


    cmsSetAlarmCodes(255,255,255);


    Write('L=?'); ReadLn(Lab.L);
    Write('a=?'); ReadLn(Lab.a);
    Write('b=?'); ReadLn(Lab.b);


    cmsDoTransform(ProofTransform, @Lab, @wRGB, 1);

    WriteLn('R=', wRGB[0], ' G=', wRGB[1], ' B=', wRGB[2]);

    cmsCloseProfile(hLabProfile);
    cmsCloseProfile(hDisplayProfile);
    cmsCloseProfile(hProof);
    cmsDeleteTransform(ProofTransform);

END.