NAME
    Color::Rgb - Simple rgb.txt parsing class

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 the new() entry elsewhere in this document
        constructor (but definitely after you load the Color::Rgb class with
        "use" or "require").

        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 name 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'

        If alias does not exist in the rgb.txt file it will return undef.

    *   "hex($alias [,$prefix])" - similar to the rgb($alias) manpage
        method, but returns hexedecimal string representing red, green and
        blue colors, prefixed (optionally) with $prefix. If $alias does not
        exist in the rgb.txt file it will return undef

    *   "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 opposite of the rgb2hex()
        entry elsewhere in this document: 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 like '#' 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: the hex2rgb() entry elsewhere in this document 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('gray'); # returns list of all the names
                                                # matching the word 'gray'

CREDITS
    Following people contributed to this library with their patches and/or
    bug reports. (list is in chronological order)

    *   Marc-Olivier BERNARD <mob@kilargo.fr> notified of the warnings that
        the library produced while "warnings" pragma enabled and improper
        parsed rgb values that contain single "0". This bug was fixed in 1.2

    *   "Herrmann Martin (FV/FLI) *" <Martin.Herrmann@de.bosch.com> noticed
        a bug in rgb2hex() method which was failing if the blue value was a
        single "0". This problem is fixed in 1.3

AUTHOR
    Sherzod B. Ruzmetov <sherzodr@cpan.org>

SEE ALSO
    the Color::Object manpage

