[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