NAME

WebColors

SYNOPSIS

use 5.10.0 ;
use strict ;
use warnings ;
use WebColors;

my ($r, $g, $b) = colorname_to_rgb( 'goldenrod') ;

DESCRIPTION

Get either the hex triplet value or the rgb values for a HTML named color.

Values have been taken from https://en.wikipedia.org/wiki/HTML_color_names#HTML_color_names

For me I want this module so that I can use the named colours to extend Device::Hynpocube so that it can use the full set of named colors it is also used in Device::BlinkStick

Google material colors have spaces removed and their numerical values added, so

Red 400 becomes red400, with accents Deep Purple A100 becomes deeppurplea100

See Also

Google material colors http://www.google.com/design/spec/style/color.html

Color::Mix

Public Functions

list_webcolors

list the colors covered in this module

my @colors = list_colors() ;
to_rbg

get rgb for a hex triplet, or a colorname. if the hex value is only 3 characters then it wil be expanded to 6

my ($r,$g,$b) = to_rgb( 'ff00ab') ;
($r,$g,$b) = to_rgb( 'red') ;
($r,$g,$b) = to_rgb( 'abc') ;

entries will be null if there is no match

colorname_to_rgb

get the rgb values 0..255 to match a color

my ($r, $g, $b) = colorname_to_rgb( 'goldenrod') ;

# get a material color
($r, $g, $b) = colorname_to_rgb( 'bluegrey500') ;

# open colors
($r, $g, $b) = colorname_to_rgb( 'oc-lime-5') ;

entries will be null if there is no match

colorname_to_hex

get the color value as a hex triplet '12ffee' to match a color

my $hex => colorname_to_hex( 'darkslategray') ;

# get a material color, accented red
$hex => colorname_to_hex( 'reda300') ;

entries will be null if there is no match

colorname_to_rgb_percent

get the rgb values as an integer percentage 0..100% to match a color

my ($r, $g, $b) = colorname_to_percent( 'goldenrod') ;

entries will be null if there is no match

rgb_to_colorname

match a name from a rgb triplet, matches within +/-1 of the values

my $name = rgb_to_colorname( 255, 0, 0) ;

returns null if there is no match

rgb_percent_to_colorname

match a name from a rgb_percet triplet, matches within +/-1 of the value

my $name = rgb_percent_to_colorname( 100, 0, 100) ;

returns null if there is no match

hex_to_colorname

match a name from a hex triplet, matches within +/-1 of the value

my $name = hex_to_colorname( 'ff0000') ;

returns null if there is no match

inverse_rgb

Get the inverse of the RGB values

my ($i_r, $i_g, $i_b) = inverse_rgb( 0xff, 0x45, 0x34) ;
luminance

Calculate the luminance of an rgb value

Rough calculation using Photometric/digital ITU-R:

Y = 0.2126 R + 0.7152 G + 0.0722 B

my $luma = luminance( to_rgb( 'green')) ;
lighten

lighten a color by an optional amount, returns a hex color string amount to adjust is a multiple of 32

my $hex = lighten( 'goldenrod', 3) ;
darken

darken a color by an optional amount, returns a hex color string amount to adjust is a multiple of 32

my $hex = darken( 'goldenrod', 2) ;

1 POD Error

The following errors were encountered while parsing the POD:

Around line 1042:

'=item' outside of any '=over'

=over without closing =back