You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
861 B

#
# Sample: Convert from sRGB to XYZ perceptual intent
#
from lcms import *
print "Enter sRGB values, 0..255"
#
# Create placeholder for colorant
#
color = COLORB()
color[0] = input("R?")
color[1] = input("G?")
color[2] = input("B?")
#
# Create placeholder for Lab
#
XYZ = cmsCIEXYZ()
#
# Open profiles (does use built-ins)
#
hsRGB = cmsCreate_sRGBProfile()
hXYZ = cmsCreateXYZProfile()
#
# The transform
#
xform = cmsCreateTransform(hsRGB, TYPE_RGB_8, hXYZ, TYPE_XYZ_DBL, INTENT_PERCEPTUAL, cmsFLAGS_NOTPRECALC)
cmsDoTransform(xform, color, XYZ, 1)
#
# Print results
#
print "sRGB = ", color[0], color[1], color[2]
print XYZ
xyY = cmsCIExyY(0, 0, 0)
cmsXYZ2xyY(xyY, XYZ)
print xyY
#
# Free all stuff
#
cmsDeleteTransform(xform)
cmsCloseProfile(hXYZ)
cmsCloseProfile(hsRGB)