summaryrefslogtreecommitdiffstats
path: root/debian/lcms/lcms-1.19.dfsg2/Delphi/Samples/getxyz.pas
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-09-11 14:38:47 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-09-11 14:38:47 +0900
commit884c8093d63402a1ad0b502244b791e3c6782be3 (patch)
treea600d4ab0d431a2bdfe4c15b70df43c14fbd8dd0 /debian/lcms/lcms-1.19.dfsg2/Delphi/Samples/getxyz.pas
parent14e1aa2006796f147f3f4811fb908a6b01e79253 (diff)
downloadextra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.tar.gz
extra-dependencies-884c8093d63402a1ad0b502244b791e3c6782be3.zip
Added debian extra dependency packages.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/lcms/lcms-1.19.dfsg2/Delphi/Samples/getxyz.pas')
-rwxr-xr-xdebian/lcms/lcms-1.19.dfsg2/Delphi/Samples/getxyz.pas62
1 files changed, 62 insertions, 0 deletions
diff --git a/debian/lcms/lcms-1.19.dfsg2/Delphi/Samples/getxyz.pas b/debian/lcms/lcms-1.19.dfsg2/Delphi/Samples/getxyz.pas
new file mode 100755
index 00000000..f8eeffe5
--- /dev/null
+++ b/debian/lcms/lcms-1.19.dfsg2/Delphi/Samples/getxyz.pas
@@ -0,0 +1,62 @@
+program TestXYZ;
+uses lcmsdll;
+
+
+type
+ TRGB8 = Packed record
+ r, g, b : Byte
+ END;
+
+var
+
+ InputProfile, OutputProfile : cmsHPROFILE;
+ Transform: cmsHTRANSFORM;
+ RGB8: TRGB8;
+ XYZ: cmsCIEXYZ;
+
+begin
+ InputProfile := cmsOpenProfileFromFile('profile.icm','r');
+ OutputProfile := cmsCreateXYZProfile();
+
+ Transform := cmsCreateTransform(InputProfile,
+ TYPE_RGB_8,
+ OutputProfile,
+ TYPE_XYZ_DBL,
+ INTENT_ABSOLUTE_COLORIMETRIC, cmsFLAGS_NOTPRECALC);
+
+ WriteLn('Enter RGB (0-255) or all 0 to end');
+ REPEAT
+
+ Write('R?'); ReadLn(RGB8.r);
+ Write('G?'); ReadLn(RGB8.g);
+ Write('B?'); ReadLn(RGB8.b);
+
+
+ cmsDoTransform(Transform,
+ @RGB8,
+ @XYZ,
+ 1);
+
+
+ {Transport to radiance}
+
+ XYZ.X := XYZ.X * 100.;
+ XYZ.Y := XYZ.Y * 100.;
+ XYZ.Z := XYZ.Z * 100.;
+
+
+ WriteLn; WriteLn('XYZ (as viewed on D50 box)');
+
+ Write('X='); WriteLn(XYZ.X:3:2);
+ Write('Y='); WriteLn(XYZ.Y:3:2);
+ Write('Z='); WriteLn(XYZ.Z:3:2);
+
+ UNTIL ((RGB8.r = 0) and (RGB8.g = 0) and (RGB8.b = 0));
+
+
+ cmsDeleteTransform(Transform);
+ cmsCloseProfile(InputProfile);
+ cmsCloseProfile(OutputProfile)
+
+END.
+