NAME
Color::Rgb - Perl extension for parsing your system's rgb.txt file. If it doesn't exist, you are still not out of luck, since it comes with an rgb.txt file itself that you can use
SYNOPSIS
use Color::Rgb;
$rgb = new Color::Rgb(rgb_txt=>'/usr/X11R6/lib/X11/rgb.txt');
@rgb = $rgb->rgb('red'); # returns 255, 0, 0
$red = $rgb->rgb('red', ','); # returns the above rgb list as
# comma separated string
$red_hex=$rgb->hex('red'); # returns 'FF0000'
$red_hex=$rgb->hex('red', '#'); # returns '#FF0000'
$my_hex = $rgb->rgb2hex(255,0,0); # returns 'FF0000'
$my_rgb = $rgb->hex2rgb('#FF0000'); # returns list of 255,0,0
DESCRIPTION
Color::Rgb - simple rgb.txt parsing class. It will also help you to convert rgb color values to hex and vice-versa.
METHODS
new([rgb_txt=
$rgb_file])> - constructor method. Returns a Color::Rgb object. Optionally accepts a path to the rgb.txt file. If you ommit the file, it will use the path in the $Color::Rgb::RGB_TXT variable, which defaults to'/usr/X11R6/lib/X11/rgb.txt'
. It means, instead of using rgb_txt=>'' option, you could also set the value of the $Color::Rgb::RGB_TXT variable to the correct path before you call the new() constructor (but definitely after you load the Color::Rgb class withuse
orrequire
).Note: If your system does not provide with any rgb.txt file, Color::Rgb distribution includes an rgb.txt file that you can use instead.
rgb($alias [,$delimiter])
- returns list of numeric Red, Green and Blue values for an $alias delimited (optionally) by a $delimiter . Alias is represantation of the color in the english language (Ex., 'black', 'red', 'purple' etc.,).Examples,
my ($r, $g, $b) = $rgb->rgb('blue'); # returns list: 00, 00, 255 my $string = $rgb->rgb('blue', ','); # returns string: '00,00,255'
But make sure that alias exists in the rgb.txt file, otherwise the method returns undef.
hex($alias [,$prefix])
- similar to rgb($alias) method, but returns hexedecimal string representing red, green and blue colors, prefixed (optionally) by $prefix. Make sure that $alias exists in the rgb.txt file.rgb2hex($r, $g, $b [,$prefix])
- converts rgb value to hexidecimal string. This method has nothing to do with the rgb.txt file, so none of the arguments need to exist in the rgb.txt.Examples,
@rgb = (128, 128, 128); # RGB represantation of grey $hex_grey = $rgb->rgb2hex(@rgb); # returns string 'C0C0C0' $hex_grey = $rgb->rgb2hex(@rgb, '#'); # returns string '#C0C0C0'
hex2rgb('hex' [,$delim])
- It's the oposite of rgb2hex(): takes a hexidecimal represantation of a color and returns a numeric list of Red, Green and Blue. If optional $delim delimiter is present, it returns the string of RGB colors delimited by the $delimiter. Characters likst '#' and 'Ox' in the begining of the hexidecimal value will be ignored. Examples:$hex = '#00FF00'; # represents blue @rgb = $rgb->hex2rgb($hex); #returns list of 0, 255, 0 $rgb_string = $rgb->hex2rgb($hex,','); #returns string '0,255,0'
Note: hex2rgb() expects valid hexidecimal represantation of a color in 6 character long string. If not, it might not work properly.
names([$pattern]
- returns a list of all the aliases in the rgb.txt file. If $pattern is givven as the first argument, it will return only the names matching the pattern. Example:@grey_colors = $rgb->names; # returns all the names @grey_colors = $rgb->names('grey'); # returns list of all the names # matching the word 'grey'
AUTHOR
Sherzod B. Ruzmetov <sherzodr@cpan.org>