[cl-colors-cvs] r2 -
tpapp at common-lisp.net
tpapp at common-lisp.net
Mon Aug 13 14:00:14 UTC 2007
Author: tpapp
Date: Mon Aug 13 10:00:13 2007
New Revision: 2
Added:
introduction.txt
Log:
added introduction
Added: introduction.txt
==============================================================================
--- (empty file)
+++ introduction.txt Mon Aug 13 10:00:13 2007
@@ -0,0 +1,52 @@
+Color classes
+-------------
+
+The two main color classes are rgb and hsv, which have slots red,
+green, blue and hue, saturation, value respectively. There is also an
+rgb class with an alpha channel (slot alpha) called rgba. In the rgb
+class, valid slot values are from 0 to 1, while in the hsv class,
+saturation and value are in the interval [0,1], but hue is in [0,360).
+
+You can convert between rgb and hsv using rgb->hsv and hsv->rgb. Note
+that for the former, you need to specify what happens when the hue is
+undefined (ie the color is gray). By default, the hue of red (0) is
+assigned.
+
+Generic functions which find the appropriate conversion method are
+available with names ->rgb and ->hsv. Use these if you want your
+functions to handle various different color representations but
+eventually you need to work with a single one.
+
+
+
+Named colors
+------------
+
+Named colors, parsed from the X11 colors file, are loaded from
+colornames.lisp. As they are constants, names are between +'s. All
+named colors are rgb.
+
+
+
+Convex combinations
+-------------------
+
+Use hsv-combination or rgb-combination for taking convex combinations
+in the respective color space. Note that in the HSV space, you need
+to specify the direction on the color wheel, the default is positive.
+
+
+Example session
+---------------
+
+CL-COLORS> +blue+
+#<RGB red: 0.0d0 green: 0.0d0 blue: 1.0d0>
+CL-COLORS> (->hsv +blue+)
+#<HSV hue: 240.0d0 saturation: 1.0d0 value: 1.0d0>
+CL-COLORS> (rgb-combination +blue+ +green+ 0.5)
+#<RGB red: 0.0d0 green: 0.5d0 blue: 0.5d0>
+CL-COLORS> (->rgb (hsv-combination (->hsv +blue+) (->hsv +green+) 0.5))
+#<RGB red: 1.0d0 green: 0.0d0 blue: 0.0d0>
+CL-COLORS> (->rgb (hsv-combination (->hsv +blue+) (->hsv +green+) 0.5 nil))
+#<RGB red: 0.0d0 green: 1.0d0 blue: 1.0d0>
+
More information about the Cl-colors-cvs
mailing list