This commit is contained in:
2022-11-25 21:21:30 +01:00
parent 2d6df0d5f0
commit 94deb06f52
132 changed files with 44887 additions and 41368 deletions

View File

@@ -1,4 +1,5 @@
<?php
/** DomFramework
* @package domframework
* @author Dominique Fournier <dominique@fournier38.fr>
@@ -11,269 +12,279 @@ namespace Domframework;
*/
class Color
{
/** The color list
* From http://www.rapidtables.com/web/color/index.htm
*/
public $colorList = array (
/** 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),
"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),
"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),
"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),
"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),
"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),
"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),
"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),
"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),
"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),
"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),
"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),
"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),
"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),
);
"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 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
* @param string $colorInText The color in textual form
*/
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];
}
/** Return an array with the RGB colors
* @param string $colorInText The color in textual form
*/
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
* @param resource $gd The GD resource to add the color
* @param string $colorInText The color in textual form
*/
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]);
}
/** Allocate the color provided in text to the provided GD object
* @param resource $gd The GD resource to add the color
* @param string $colorInText The color in textual form
*/
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]);
}
}