Provided by: libcolor-library-perl_0.021-2_all bug

NAME

       Color::Library::Color - Color entry for a Color::Library color dictionary

METHODS

       $id = $color->id
           Returns the id of the color

           A color id is in the format of <dictionary_id:color_name>, e.g.

               svg:aliceblue
               x11:bisque2
               nbs-iscc-f:chromeyellow.66
               vaccc:darkspringyellow

       $name = $color->name
           Returns the name of the color, e.g.

               aliceblue
               bisque2
               chromeyellow
               darkspringyellow

       $title = $color->title
           Returns the title of the color, e.g.

               aliceblue
               bisque2
               chrome yellow
               Dark Spring-Yellow

       $dictionary = $color->dictionary
           Returns the Color::Library::Dictionary object that the color belongs to

       $hex = $color->hex
           Returns the hex value of the color, e.g.

               ff08ff
               eed5b7
               eaa221
               669900

           Note that $hex does NOT include the leading #, for that use $color->html, $color->css,
           or $color->svg

       $html = $color->html
       $css = $color->css
       $svg = $color->svg
           Returns the hex value of the color with a leading #, suitable for use in HTML, CSS, or
           SVG documents, e.g.

               #ff08ff
               #eed5b7
               #eaa221
               #669900

       $value = $color->value
           Returns the numeric value of the color, e.g.

               15792383
               15652279
               15376929
               6723840

       ($r, $g, $b) = $color->rgb
           Returns r, g, and b values of the color as a 3 element list (list context), e.g.

               (240, 248, 255)

       $rgb = $color->rgb
           Returns r, g, and b values of the color in a 3 element array (scalar context), e.g.

               [ 240, 248, 255 ]

       $color = Color::Library::Color->new( id => $id, name => $name, title => $title, value =>
       $value )
       $color = Color::Library::Color->new( { id => $id, name => $name, title => $title, value =>
       $value } )
       $color = Color::Library::Color->new( [[ $id, $name, $title, $rgb, $hex, $value ]] )
           Returns a new Color::Library::Color object representing the specified color

           You probably don't want/need to call this yourself

   FUNCTIONS
       $hex = Color::Library::Color::rgb2hex( $rgb )
       $hex = Color::Library::Color::rgb2hex( $r, $g, $b )
           Converts an rgb value to its hex representation

       $value = Color::Library::Color::rgb2value( $rgb )
       $value = Color::Library::Color::rgb2value( $r, $g, $b )
           Converts an rgb value to its numeric representation

       $rgb = Color::Library::Color::value2rgb( $value )
       ($r, $g, $b) = Color::Library::Color::value2rgb( $value )
           Converts a numeric color value to its rgb representation

       ($r, $g, $b) = Color::Library::Color::parse_rgb_color( $hex )
       ($r, $g, $b) = Color::Library::Color::parse_rgb_color( $value )
           Makes a best effort to convert a hex or numeric color value to its rgb representation

       # Partly taken from Imager/Color.pm sub parse_rgb_color {
           return (@_) if @_ == 3 && ! grep /[^\d.+eE-]/, @_;
           if ($_[0] =~ /^\#?([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])$/i) {
               return (hex($1), hex($2), hex($3));
           }
           if ($_[0] =~ /^\#?([\da-f])([\da-f])([\da-f])$/i) {
               return (hex($1) * 17, hex($2) * 17, hex($3) * 17);
           }
           return value2rgb $_[0] if 1 == @_ && $_[0] =~ m/^\d+$/; }

       1;

       __END__

       sub parse_rgbs_color {
           return (@_) if @_ == 3 && ! grep /[^\d.+eE-]/, @_;
           if ($_[0] =~ /^\#?([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])/i)
       {
               return (hex($1), hex($2), hex($3), hex($4));
           }
           if ($_[0] =~ /^\#?([\da-f][\da-f])([\da-f][\da-f])([\da-f][\da-f])/i) {
               return (hex($1), hex($2), hex($3), 255);
           }
           if ($_[0] =~ /^\#([\da-f])([\da-f])([\da-f])$/i) {
               return (hex($1) * 17, hex($2) * 17, hex($3) * 17, 255);
           }
           return value2rgb $_[0] if 1 == @_; }