Color::Mix is a lightweight color scheme generator for the Perl language. Users of this module are expected to know how to use RGB hexidecimal colors.
All the scheme methods take at the very minimum either an rgb hex code for the color you are trying to calculate or a color name from the common X11 color list. In addition to this the analogous method can take a number of arguments to gain fine grained control over the scheme generated through controlling the color range.
The colors are calculated against an RGB color wheel internally.
Note: This module uses Red, Green and Blue for it's primary colours which differs from the normal color theory of Red, Yellow and Blue. What this means is it uses HSV-to-RGB to calculate the schemes so should behave in the same way as the color wheel in popular image manipulation apps like Gimp & Photoshop.
This module doesn't have any dependencies and should run on any modern-ish version of Perl 5. Tested on 5.8
my $color = Color::Mix->new;
# Complementary to red
my $complementary_color = $color->complementary('ff0000');
# Double complementary to red/yellow
my ($color1, $color2) = $color->double_complementary('ff0000', 'ffff00');
my ($color1, $color2) = $color->double_complementary('red', 'yellow');
# Generate a default analogous color scheme for red
my @analogous = $color->analogous('ff0000');
# Generate a more controlled analogous color scheme for blue
# Give me 5 colors, slice the color wheel up into 36.
# The defaults are 3 colors + the one passed in, 12 slices.
my @analogous = $color->analogous('0000ff', 5, 36);