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
52
53
54
55
56
|
#
# Sample: Convert from Lab to AdobeRGB, perceptual intent
#
from lcms import *
print "Enter Lab values"
#
# Create placeholders
#
Lab = cmsCIELab(0, 0, 0)
LabEncoded = COLORW()
RGB = COLORB()
Lab.L = input("L?")
Lab.a = input("a?")
Lab.b = input("b?")
# cmsFloat2LabEncoded(LabEncoded.w, Lab)
#
# Open profiles
#
hLab = cmsCreateLabProfile(None)
hAdobe = cmsOpenProfileFromFile("AdobeRGB1998.icc", "r")
#
# The transform
#
xform = cmsCreateTransform(hLab, TYPE_Lab_DBL, hAdobe, TYPE_RGB_8, INTENT_PERCEPTUAL, cmsFLAGS_NOTPRECALC)
cmsDoTransform(xform, Lab, RGB, 1)
#
# Print results
#
print Lab
print "AdobeRGB = ", RGB[0], RGB[1], RGB[2]
#
# Free all stuff
#
cmsDeleteTransform(xform)
cmsCloseProfile(hAdobe)
cmsCloseProfile(hLab)
|