aboutsummaryrefslogtreecommitdiffstats
path: root/color.txi
diff options
context:
space:
mode:
Diffstat (limited to 'color.txi')
-rw-r--r--color.txi31
1 files changed, 27 insertions, 4 deletions
diff --git a/color.txi b/color.txi
index ccbb3de..101bc7b 100644
--- a/color.txi
+++ b/color.txi
@@ -5,8 +5,8 @@
The @dfn{tristimulus} color spaces are those whose component values
@cindex tristimulus
are proportional measurements of light intensity. The CIEXYZ(1931)
-system provides 3 sets of spectra to convolve with a spectrum of
-interest. The result of those convolutions is coordinates in CIEXYZ
+system provides 3 sets of spectra to dot-product with a spectrum of
+interest. The result of those dot-products is coordinates in CIEXYZ
space. All tristimuls color spaces are related to CIEXYZ by linear
transforms, namely matrix multiplication. Of the color spaces listed
here, CIEXYZ and RGB709 are tristimulus spaces.
@@ -16,7 +16,7 @@ The CIEXYZ color space covers the full @dfn{gamut}.
@cindex gamut
It is the basis for color-space conversions.
-CIEXYZ is a list of three inexact numbers between 0 and 1.1.
+CIEXYZ is a list of three inexact numbers between 0.0 and 1.1.
'(0. 0. 0.) is black; '(1. 1. 1.) is white.
@end deftp
@@ -27,6 +27,7 @@ CIEXYZ is a list of three inexact numbers between 0 and 1.1.
then @code{ciexyz->color} returns the color specified by @var{xyz}; otherwise returns #f.
@end defun
+
@defun color:ciexyz x y z
Returns the CIEXYZ color composed of @var{x}, @var{y}, @var{z}. If the
@@ -34,9 +35,11 @@ coordinates do not encode a valid CIEXYZ color, then an error is
signaled.
@end defun
+
@defun color->ciexyz color
Returns the list of 3 numbers encoding @var{color} in CIEXYZ.
@end defun
+
@deftp {Color Space} RGB709
BT.709-4 (03/00) @cite{Parameter values for the HDTV standards for
production and international programme exchange} specifies parameter
@@ -44,7 +47,7 @@ values for chromaticity, sampling, signal format, frame rates, etc., of
high definition television signals.
An RGB709 color is represented by a list of three inexact numbers
-between 0 and 1. '(0. 0. 0.) is black '(1. 1. 1.) is white.
+between 0.0 and 1.0. '(0. 0. 0.) is black '(1. 1. 1.) is white.
@end deftp
@@ -54,6 +57,7 @@ between 0 and 1. '(0. 0. 0.) is black '(1. 1. 1.) is white.
then @code{rgb709->color} returns the color specified by @var{rgb}; otherwise returns #f.
@end defun
+
@defun color:rgb709 r g b
Returns the RGB709 color composed of @var{r}, @var{g}, @var{b}. If the
@@ -61,9 +65,11 @@ coordinates do not encode a valid RGB709 color, then an error is
signaled.
@end defun
+
@defun color->rgb709 color
Returns the list of 3 numbers encoding @var{color} in RGB709.
@end defun
+
@subsubheading Perceptual Uniformity
@noindent
@@ -97,6 +103,7 @@ perception of color. It is a list of three numbers:
then @code{l*a*b*->color} returns the color specified by @var{L*a*b*}; otherwise returns #f.
@end defun
+
@defun color:l*a*b* L* a* b* white-point
Returns the L*a*b* color composed of @var{L*}, @var{a*}, @var{b*} with @var{white-point}.
@@ -106,6 +113,7 @@ Returns the L*a*b* color composed of @var{L*}, @var{a*}, @var{b*}. If the coord
do not encode a valid L*a*b* color, then an error is signaled.
@end defun
+
@defun color->l*a*b* color white-point
Returns the list of 3 numbers encoding @var{color} in L*a*b* with @var{white-point}.
@@ -113,6 +121,7 @@ Returns the list of 3 numbers encoding @var{color} in L*a*b* with @var{white-poi
@defunx color->l*a*b* color
Returns the list of 3 numbers encoding @var{color} in L*a*b*.
@end defun
+
@deftp {Color Space} L*u*v*
Is another CIE encoding designed to better match the human visual
system's perception of color.
@@ -125,6 +134,7 @@ system's perception of color.
then @code{l*u*v*->color} returns the color specified by @var{L*u*v*}; otherwise returns #f.
@end defun
+
@defun color:l*u*v* L* u* v* white-point
Returns the L*u*v* color composed of @var{L*}, @var{u*}, @var{v*} with @var{white-point}.
@@ -134,6 +144,7 @@ Returns the L*u*v* color composed of @var{L*}, @var{u*}, @var{v*}. If the coord
do not encode a valid L*u*v* color, then an error is signaled.
@end defun
+
@defun color->l*u*v* color white-point
Returns the list of 3 numbers encoding @var{color} in L*u*v* with @var{white-point}.
@@ -141,6 +152,7 @@ Returns the list of 3 numbers encoding @var{color} in L*u*v* with @var{white-poi
@defunx color->l*u*v* color
Returns the list of 3 numbers encoding @var{color} in L*u*v*.
@end defun
+
@subsubheading Cylindrical Coordinates
@noindent
@@ -190,6 +202,7 @@ The colors by quadrant of h are:
then @code{l*c*h->color} returns the color specified by @var{L*C*h}; otherwise returns #f.
@end defun
+
@defun color:l*c*h L* C* h white-point
Returns the L*C*h color composed of @var{L*}, @var{C*}, @var{h} with @var{white-point}.
@@ -199,6 +212,7 @@ Returns the L*C*h color composed of @var{L*}, @var{C*}, @var{h}. If the coordin
do not encode a valid L*C*h color, then an error is signaled.
@end defun
+
@defun color->l*c*h color white-point
Returns the list of 3 numbers encoding @var{color} in L*C*h with @var{white-point}.
@@ -206,6 +220,7 @@ Returns the list of 3 numbers encoding @var{color} in L*C*h with @var{white-poin
@defunx color->l*c*h color
Returns the list of 3 numbers encoding @var{color} in L*C*h.
@end defun
+
@subsubheading Digital Color Spaces
@noindent
@@ -251,12 +266,14 @@ should work very well with sRGB.
then @code{srgb->color} returns the color specified by @var{rgb}; otherwise returns #f.
@end defun
+
@defun color:srgb r g b
Returns the sRGB color composed of @var{r}, @var{g}, @var{b}. If the
coordinates do not encode a valid sRGB color, then an error is
signaled.
@end defun
+
@deftp {Color Space} xRGB
Represents the equivalent sRGB color with a single 24-bit integer. The
most significant 8 bits encode red, the middle 8 bits blue, and the
@@ -269,14 +286,17 @@ least significant 8 bits green.
Returns the list of 3 integers encoding @var{color} in sRGB.
@end defun
+
@defun color->xrgb color
Returns the 24-bit integer encoding @var{color} in sRGB.
@end defun
+
@defun xrgb->color k
Returns the sRGB color composed of the 24-bit integer @var{k}.
@end defun
+
@deftp {Color Space} e-sRGB
Is "Photography - Electronic still picture imaging - Extended sRGB color
encoding" (PIMA 7667:2001). It extends the gamut of sRGB; and its
@@ -302,6 +322,7 @@ numbers. If @var{rgb} is valid e-sRGB coordinates, then @code{e-srgb->color} re
specified by @var{rgb}; otherwise returns #f.
@end defun
+
@defun color:e-srgb 10 r g b
Returns the e-sRGB10 color composed of integers @var{r}, @var{g}, @var{b}.
@@ -315,6 +336,7 @@ If the coordinates do not encode a valid e-sRGB color, then an error
is signaled.
@end defun
+
@defun color->e-srgb precision color
@var{precision} must be the integer 10, 12, or 16. @code{color->e-srgb} returns the list of 3
integers encoding @var{color} in sRGB10, sRGB12, or sRGB16.
@@ -343,3 +365,4 @@ integers encoding @var{color} in sRGB10, sRGB12, or sRGB16.
+