- NAME
- SYNOPSIS
- DESCRIPTION
- BUGS

# NAME

ActiveState::Color - Collection of color conversion functions

# SYNOPSIS

     use ActiveState::Color qw(name_from_rgb rgb_from_name
                               rgb_from_hsv hsv_from_rgb
                              );
     my($h, $s, $v) = hsv_from_rgb(rgb_from_name(shift));
     # make the color fully saturated and a bit lighter
     $s = 1; $v *= 1.2;
     print name_from_rgb(rgb_from_hsv($h, $s, $v)), "\n";

# DESCRIPTION

The following functions are provided:

($r, $g, $b) = rgb_from_name( $name )

  This will convert a color name or a hex RGB-tripplet to a decimal RGB value with $r, $g, $b in the range 0.0 to 1.0. The hex tripplet can have any precision and can optionally be prefixed with "#". If the name is not recognized this function will croak. Examples of valid names are:

          #F0F
          #FF00FF
          #FFF000FFF
          ff00ff
          black
          BLACK
          yellow

$hexname = hex_from_rgb( $r, $g, $b )

  This converts a decimal RGB value with $r, $g, $b in the range 0.0 to 1.0 to an 8-bit hex RGB-tripplet. The output will be on the form:

          #ff00ff

$name = name_from_rgb( $r, $g, $b )

  This will convert a decimal RGB value to a color name. If the color is one of the 8 primary RGB colors then the name will be returned, otherwise a hex RGB-tripplet is returned. The 8 primary color names are:

          black
          blue
          cyan
          green
          magenta
          red
          yellow
          white

($r, $g, $b) = rgb_from_hsv( $h, $s, $v )
($h, $s, $v) = rgb_from_hsv( $r, $g, $b )

  These functions convert between the RGB and HSV color space. The range of $s, $v, $r, $g, and $b is 0.0 to 1.0. The range of $h is 0.0 to 360.0.

# BUGS

none.