A color is an object representing a red-green-blue (RGB) combination
of primary colors plus an “alpha” for opacity. Each red, green, or
blue component of the color is an exact integer in the range 0 to
255, inclusive, and the alpha value is a real number between 0 and 1,
inclusive. For example, (0, 0, 0, 1.0) is solid black, (255, 255,
255, 1.0) is solid white, (255, 0, 0, 1.0) is solid red, and (255, 0,
0, 0.5) is translucent red.
See color-database<%> for information about obtaining a color
object using a color name, and see also make-color.
Creates a new color.
If three or four arguments are supplied to the constructor, the
color is created with those RGB and alpha values.
If a single color% object is supplied, the color
is created with the same RGB and alpha values as the given
If a string is supplied, then it is passed to the
method to find a color (signaling an error if the color is not in
the color-database<%>’s get-names
If no arguments are supplied, the new color is black.
Returns the red component of the color.
Returns the green component of the color.
Returns the blue component of the color.
Returns the alpha component (i.e., opacity) of the color.
Sets the four (red, green, blue, and alpha) component values of the color.
Copies the RGB values of another color object to this one, returning
this object as the result.
Returns #t if the color object is immutable.
See also make-color and find-color in color-database<%>.
Returns #t to indicate that the color object is valid.
(Historically, the result could be #f, but color objects
are now always valid.)
We can compare instances of color% using equal?. Two
color% instances are equal if the red, green, blue, and alpha
values are equal. I.e., a mutable and an immutable
color% instance are equal as long as their values are equal.