LispWorks CAPI User Guide > 13 The Color System


13.3 Color specs

A color spec is an object which numerically defines a color in some color-model. For example the object returned by the call:

(make-rgb 0.0s0 1.0s0 0.0s0) => 
  #(:RGB 0.0s0 1.0s0 0.0s0) 

defines the color green in the RGB color model. (Note that short-floats are used; this results in the most efficient color conversion process. However, any floating-point number type can be used.)

To find out what color-spec is associated with a color name, use the function get-color-spec. It returns the color-spec associated with a symbol. If there is no color-spec associated with color-name , this function returns nil . If color-name is the name of a color alias, the color alias is dereferenced until a color-spec is found.

Color-specs are made using standard functions make-rgb , make-hsv and make-gray . For example:

(make-rgb 0.0s0 1.0s0 0.0s0)
(make-hsv 1.2s0 0.5s0 0.9s0)
(make-gray 0.66667s0)

To create a color spec with an alpha component using the above constructors, pass an extra optional argument. For example this specifies green with 40% transparency:

(make-rgb 0.0s0 1.0s0 0.0s0 0.6s0)

Note that the alpha component is only supported on Cocoa and Windows.

The predicate color-spec-p can be used to test for color-spec objects. The function color-spec-model returns the model in which a color-spec object has been defined.

LispWorks CAPI User Guide (Unix version) - 22 Dec 2009