A color is represented by coordinates in a 3-dimensional space. This
simple idea belies the difficulties faced by the color novice:
Over the century the CIE (Commission Internationale de l'Eclairage)
has issued color standards, some have been abandoned and some
superseded. Yet most are still in common use, often without full
The CIE terminology distinguishes letter case (xyY) and uses '*' to
indicate logarithmic scales, which seems to be honored mainly in the
The transformations converting coordinates of one color-space into
coordinates of another are generally non-linear.
Some color spaces are devised to reduce computational costs. Increased
processor performance reduces the need for these compromises.
Some widely referenced web pages give incorrect color algorithms.
X11's color management system is rendered useless by its fiction that
CRT monitors' (and X11 default) color-spaces are linear RGBi.
Most of the web-published color-name
dictionaries are corrupted copies of the 1994 vintage X11 rgb.txt,
which had poor quality to begin with.
Major sources of image and color data use proprietary or trade-secret
A plethora of color interfaces of varying quality have been developed
for application programs. This solid implementation in SLIB will improve utility for users while
freeing developers from reinventing this wheel.
SLIB's color package provides methods
to specify, compute, and transform colors in the color spaces CIEXYZ,
CIEL*a*b*, CIEL*u*v*, CIEL*C*h, RGB709, sRGB, e-sRGB, xyY, spectra, and
chromaticity. It also provides for reading and writing of a textual
representation of colors; and color-name lookup from multiple
Copyright © 2002, 2010 Aubrey Jaffer
I am a guest and not a member of the MIT Computer Science and Artificial Intelligence Laboratory.
My actions and comments do not reflect in any way on MIT.
|agj @ alum.mit.edu