*/ /** Convert the name of colors to RGB */ class color { /** The color list * From http://www.rapidtables.com/web/color/index.htm */ public $colorList = array ( // Black "black" => array (0, 0, 0), "dimgrey" => array (105, 105, 105), "grey" => array (128, 128, 128), "darkgrey" => array (169, 169, 169), "silver" => array (192, 192, 192), // Blue "aliceblue" => array (240,248,255), "lavender" => array (230,230,250), "powderblue" => array (176,224,230), "lightblue" => array (173,216,230), "lightskyblue" => array (135,206,250), "skyblue" => array (135,206,235), "deepskyblue" => array (0,191,255), "lightsteelblue" => array (176,196,222), "dodgerblue" => array (30,144,255), "cornflowerblue" => array (100,149,237), "steelblue" => array (70,130,180), "cadetblue" => array (95,158,160), "mediumslateblue" => array (123,104,238), "slateblue" => array (106,90,205), "darkslateblue" => array (72,61,139), "royalblue" => array (65,105,225), "blue" => array (0,0,255), "mediumblue" => array (0,0,205), "darkblue" => array (0,0,139), "navy" => array (0,0,128), "midnightblue" => array (25,25,112), "blueviolet" => array (138,43,226), "indigo" => array (75,0,130), // Brown "cornsilk" => array (255,248,220), "blanchedalmond" => array (255,235,205), "bisque" => array (255,228,196), "navajowhite" => array (255,222,173), "wheat" => array (245,222,179), "burlywood" => array (222,184,135), "tan" => array (210,180,140), "rosybrown" => array (188,143,143), "sandybrown" => array (244,164,96), "goldenrod" => array (218,165,32), "peru" => array (205,133,63), "chocolate" => array (210,105,30), "saddlebrown" => array (139,69,19), "sienna" => array (160,82,45), "brown" => array (165,42,42), "maroon" => array (128,0,0), // Cyan "lightcyan" => array (224,255,255), "cyan" => array (0,255,255), "aqua" => array (0,255,255), "aquamarine" => array (127,255,212), "mediumaquamarine" => array (102,205,170), "paleturquoise" => array (175,238,238), "turquoise" => array (64,224,208), "mediumturquoise" => array (72,209,204), "darkturquoise" => array (0,206,209), "lightseagreen" => array (32,178,170), "cadetblue" => array (95,158,160), "darkcyan" => array (0,139,139), "teal" => array (0,128,128), // Gold "lightgoldenrodyellow" => array (250,250,210), "palegoldenrod" => array (238,232,170), "khaki" => array (240,230,140), "goldenrod" => array (218,165,32), "gold" => array (255,215,0), "orange" => array (255,165,0), "darkorange" => array (255,140,0), "peru" => array (205,133,63), "chocolate" => array (210,105,30), "saddlebrown" => array (139,69,19), "sienna" => array (160,82,45), "goldenyellow" => array (255,223,0), "metallicgold" => array (212,175,55), "oldgold" => array (207,181,59), "vegasgold" => array (197,179,88), "palegold" => array (230,190,138), "goldenbrown" => array (153,101,21), // Green "lawngreen" => array (124,252,0), "chartreuse" => array (127,255,0), "limegreen" => array (50,205,50), "lime" => array (0,255,0), "forestgreen" => array (34,139,34), "green" => array (0,128,0), "darkgreen" => array (0,100,0), "greenyellow" => array (173,255,47), "yellowgreen" => array (154,205,50), "springgreen" => array (0,255,127), "mediumspringgreen" => array (0,250,154), "lightgreen" => array (144,238,144), "palegreen" => array (152,251,152), "darkseagreen" => array (143,188,143), "mediumseagreen" => array (60,179,113), "lightseagreen" => array (32,178,170), "seagreen" => array (46,139,87), "olive" => array (128,128,0), "darkolivegreen" => array (85,107,47), "olivedrab" => array (107,142,35), // Grey "gainsboro" => array (220,220,220), "lightgray" => array (211,211,211), "lightgrey" => array (211,211,211), "silver" => array (192,192,192), "darkgray" => array (169,169,169), "darkgrey" => array (169,169,169), "gray" => array (128,128,128), "grey" => array (128,128,128), "dimgray" => array (105,105,105), "dimgrey" => array (105,105,105), "lightslategray" => array (119,136,153), "lightslategrey" => array (119,136,153), "slategray" => array (112,128,144), "slategrey" => array (112,128,144), "darkslategray" => array (47,79,79), "darkslategrey" => array (47,79,79), "black" => array (0,0,0), // Maroon "maroon" => array (128,0,0), "darkred" => array (139,0,0), "brown" => array (165,42,42), "firebrick" => array (178,34,34), "crimson" => array (220,20,60), // Orange "coral" => array (255,127,80), "tomato" => array (255,99,71), "orangered" => array (255,69,0), "gold" => array (255,215,0), "orange" => array (255,165,0), "darkorange" => array (255,140,0), // Pink "pink" => array (255,192,203), "lightpink" => array (255,182,193), "hotpink" => array (255,105,180), "deeppink" => array (255,20,147), "palevioletred" => array (219,112,147), "mediumvioletred" => array (199,21,133), // Purple "lavender" => array (230,230,250), "thistle" => array (216,191,216), "plum" => array (221,160,221), "violet" => array (238,130,238), "orchid" => array (218,112,214), "fuchsia" => array (255,0,255), "magenta" => array (255,0,255), "mediumorchid" => array (186,85,211), "mediumpurple" => array (147,112,219), "blueviolet" => array (138,43,226), "darkviolet" => array (148,0,211), "darkorchid" => array (153,50,204), "darkmagenta" => array (139,0,139), "purple" => array (128,0,128), "indigo" => array (75,0,130), // Red "lightsalmon" => array (255,160,122), "salmon" => array (250,128,114), "darksalmon" => array (233,150,122), "lightcoral" => array (240,128,128), "indianred" => array (205,92,92), "crimson" => array (220,20,60), "firebrick" => array (178,34,34), "red" => array (255,0,0), "darkred" => array (139,0,0), "maroon" => array (128,0,0), "tomato" => array (255,99,71), "orangered" => array (255,69,0), "palevioletred" => array (219,112,147), // White "white" => array (255,255,255), "snow" => array (255,250,250), "honeydew" => array (240,255,240), "mintcream" => array (245,255,250), "azure" => array (240,255,255), "aliceblue" => array (240,248,255), "ghostwhite" => array (248,248,255), "whitesmoke" => array (245,245,245), "seashell" => array (255,245,238), "beige" => array (245,245,220), "oldlace" => array (253,245,230), "floralwhite" => array (255,250,240), "ivory" => array (255,255,240), "antiquewhite" => array (250,235,215), "linen" => array (250,240,230), "lavenderblush" => array (255,240,245), "mistyrose" => array (255,228,225), "navajowhite" => array (255,222,173), // Yellow "lightyellow" => array (255,255,224), "lemonchiffon" => array (255,250,205), "lightgoldenrodyellow" => array (250,250,210), "papayawhip" => array (255,239,213), "moccasin" => array (255,228,181), "peachpuff" => array (255,218,185), "palegoldenrod" => array (238,232,170), "khaki" => array (240,230,140), "darkkhaki" => array (189,183,107), "yellow" => array (255,255,0), "olive" => array (128,128,0), "greenyellow" => array (173,255,47), "yellowgreen" => array (154,205,50), "lightyellow1" => array (255,255,204), "lightyellow2" => array (255,255,153), "lightyellow3" => array (255,255,102), "lightyellow4" => array (255,255,51), "yellow" => array (255,255,0), "darkyellow1" => array (204,204,0), "darkyellow2" => array (153,153,0), "darkyellow3" => array (102,102,0), "darkyellow4" => array (51,51,0), ); /** Return the list of the known colors list */ public static function colorList () { $color = new \color (); $colorList = $color->colorList; return array_keys ($colorList); } /** Return an array with the RGB colors */ public static function textToRGB ($colorInText) { $color = new \color (); $colorList = $color->colorList; if (! array_key_exists ($colorInText, $colorList)) throw new \Exception (sprintf (dgettext ("domframework", "Unknown color provided to graphColor::textToRGB : %s"), $colorInText), 500); return $colorList[$colorInText]; } /** Allocate the color provided in text to the provided GD object */ public static function allocateFromText ($gd, $colorInText) { if (! function_exists ("imagecolorallocate")) throw new \Exception (dgettext ("domframework", "No GD support in PHP : can't allocate color"), 500); $rgb = \color::textToRGB ($colorInText); return imagecolorallocate ($gd, $rgb[0], $rgb[1], $rgb[2]); } }