|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* X11 Data Class |
|
4
|
|
|
* ================ |
|
5
|
|
|
* Stores data for importing X11 colors. |
|
6
|
|
|
*/ |
|
7
|
|
|
|
|
8
|
|
|
namespace projectcleverweb\color\data; |
|
9
|
|
|
|
|
10
|
|
|
/** |
|
11
|
|
|
* X11 Data Class |
|
12
|
|
|
* ================ |
|
13
|
|
|
* Stores data for importing X11 colors. |
|
14
|
|
|
*/ |
|
15
|
|
|
class x11 { |
|
16
|
|
|
|
|
17
|
|
|
/** |
|
18
|
|
|
* Array mapping of all the X11 colors to RGB |
|
19
|
|
|
* @var array |
|
20
|
|
|
*/ |
|
21
|
|
|
public static $map = array( |
|
22
|
|
|
'aliceblue' => array('r' => 240, 'g' => 248, 'b' => 255), |
|
23
|
|
|
'antiquewhite' => array('r' => 250, 'g' => 235, 'b' => 215), |
|
24
|
|
|
'aqua' => array('r' => 0, 'g' => 255, 'b' => 255), |
|
25
|
|
|
'aquamarine' => array('r' => 127, 'g' => 255, 'b' => 212), |
|
26
|
|
|
'azure' => array('r' => 240, 'g' => 255, 'b' => 255), |
|
27
|
|
|
'beige' => array('r' => 245, 'g' => 245, 'b' => 220), |
|
28
|
|
|
'bisque' => array('r' => 255, 'g' => 228, 'b' => 196), |
|
29
|
|
|
'black' => array('r' => 0, 'g' => 0, 'b' => 0), |
|
30
|
|
|
'blanchedalmond' => array('r' => 255, 'g' => 235, 'b' => 205), |
|
31
|
|
|
'blue' => array('r' => 0, 'g' => 0, 'b' => 255), |
|
32
|
|
|
'blueviolet' => array('r' => 138, 'g' => 43, 'b' => 226), |
|
33
|
|
|
'brown' => array('r' => 165, 'g' => 42, 'b' => 42), |
|
34
|
|
|
'burlywood' => array('r' => 222, 'g' => 184, 'b' => 135), |
|
35
|
|
|
'cadetblue' => array('r' => 95, 'g' => 158, 'b' => 160), |
|
36
|
|
|
'chartreuse' => array('r' => 127, 'g' => 255, 'b' => 0), |
|
37
|
|
|
'chocolate' => array('r' => 210, 'g' => 105, 'b' => 30), |
|
38
|
|
|
'coral' => array('r' => 255, 'g' => 127, 'b' => 80), |
|
39
|
|
|
'cornflowerblue' => array('r' => 100, 'g' => 149, 'b' => 237), |
|
40
|
|
|
'cornsilk' => array('r' => 255, 'g' => 248, 'b' => 220), |
|
41
|
|
|
'crimson' => array('r' => 220, 'g' => 20, 'b' => 60), |
|
42
|
|
|
'cyan' => array('r' => 0, 'g' => 255, 'b' => 255), |
|
43
|
|
|
'darkblue' => array('r' => 0, 'g' => 0, 'b' => 139), |
|
44
|
|
|
'darkcyan' => array('r' => 0, 'g' => 139, 'b' => 139), |
|
45
|
|
|
'darkgoldenrod' => array('r' => 184, 'g' => 134, 'b' => 11), |
|
46
|
|
|
'darkgray' => array('r' => 169, 'g' => 169, 'b' => 169), |
|
47
|
|
|
'darkgreen' => array('r' => 0, 'g' => 100, 'b' => 0), |
|
48
|
|
|
'darkgrey' => array('r' => 169, 'g' => 169, 'b' => 169), |
|
49
|
|
|
'darkkhaki' => array('r' => 189, 'g' => 183, 'b' => 107), |
|
50
|
|
|
'darkmagenta' => array('r' => 139, 'g' => 0, 'b' => 139), |
|
51
|
|
|
'darkolivegreen' => array('r' => 85, 'g' => 107, 'b' => 47), |
|
52
|
|
|
'darkorange' => array('r' => 255, 'g' => 140, 'b' => 0), |
|
53
|
|
|
'darkorchid' => array('r' => 153, 'g' => 50, 'b' => 204), |
|
54
|
|
|
'darkred' => array('r' => 139, 'g' => 0, 'b' => 0), |
|
55
|
|
|
'darksalmon' => array('r' => 233, 'g' => 150, 'b' => 122), |
|
56
|
|
|
'darkseagreen' => array('r' => 143, 'g' => 188, 'b' => 143), |
|
57
|
|
|
'darkslateblue' => array('r' => 72, 'g' => 61, 'b' => 139), |
|
58
|
|
|
'darkslategray' => array('r' => 47, 'g' => 79, 'b' => 79), |
|
59
|
|
|
'darkslategrey' => array('r' => 47, 'g' => 79, 'b' => 79), |
|
60
|
|
|
'darkturquoise' => array('r' => 0, 'g' => 206, 'b' => 209), |
|
61
|
|
|
'darkviolet' => array('r' => 148, 'g' => 0, 'b' => 211), |
|
62
|
|
|
'deeppink' => array('r' => 255, 'g' => 20, 'b' => 147), |
|
63
|
|
|
'deepskyblue' => array('r' => 0, 'g' => 191, 'b' => 255), |
|
64
|
|
|
'dimgray' => array('r' => 105, 'g' => 105, 'b' => 105), |
|
65
|
|
|
'dimgrey' => array('r' => 105, 'g' => 105, 'b' => 105), |
|
66
|
|
|
'dodgerblue' => array('r' => 30, 'g' => 144, 'b' => 255), |
|
67
|
|
|
'firebrick' => array('r' => 178, 'g' => 34, 'b' => 34), |
|
68
|
|
|
'floralwhite' => array('r' => 255, 'g' => 250, 'b' => 240), |
|
69
|
|
|
'forestgreen' => array('r' => 34, 'g' => 139, 'b' => 34), |
|
70
|
|
|
'fuchsia' => array('r' => 255, 'g' => 0, 'b' => 255), |
|
71
|
|
|
'gainsboro' => array('r' => 220, 'g' => 220, 'b' => 220), |
|
72
|
|
|
'ghostwhite' => array('r' => 248, 'g' => 248, 'b' => 255), |
|
73
|
|
|
'gold' => array('r' => 255, 'g' => 215, 'b' => 0), |
|
74
|
|
|
'goldenrod' => array('r' => 218, 'g' => 165, 'b' => 32), |
|
75
|
|
|
'gray' => array('r' => 128, 'g' => 128, 'b' => 128), |
|
76
|
|
|
'green' => array('r' => 0, 'g' => 128, 'b' => 0), |
|
77
|
|
|
'greenyellow' => array('r' => 173, 'g' => 255, 'b' => 47), |
|
78
|
|
|
'grey' => array('r' => 128, 'g' => 128, 'b' => 128), |
|
79
|
|
|
'honeydew' => array('r' => 240, 'g' => 255, 'b' => 240), |
|
80
|
|
|
'hotpink' => array('r' => 255, 'g' => 105, 'b' => 180), |
|
81
|
|
|
'indianred' => array('r' => 205, 'g' => 92, 'b' => 92), |
|
82
|
|
|
'indigo' => array('r' => 75, 'g' => 0, 'b' => 130), |
|
83
|
|
|
'ivory' => array('r' => 255, 'g' => 255, 'b' => 240), |
|
84
|
|
|
'khaki' => array('r' => 240, 'g' => 230, 'b' => 140), |
|
85
|
|
|
'lavender' => array('r' => 230, 'g' => 230, 'b' => 250), |
|
86
|
|
|
'lavenderblush' => array('r' => 255, 'g' => 240, 'b' => 245), |
|
87
|
|
|
'lawngreen' => array('r' => 124, 'g' => 252, 'b' => 0), |
|
88
|
|
|
'lemonchiffon' => array('r' => 255, 'g' => 250, 'b' => 205), |
|
89
|
|
|
'lightblue' => array('r' => 173, 'g' => 216, 'b' => 230), |
|
90
|
|
|
'lightcoral' => array('r' => 240, 'g' => 128, 'b' => 128), |
|
91
|
|
|
'lightcyan' => array('r' => 224, 'g' => 255, 'b' => 255), |
|
92
|
|
|
'lightgoldenrodyellow' => array('r' => 250, 'g' => 250, 'b' => 210), |
|
93
|
|
|
'lightgray' => array('r' => 211, 'g' => 211, 'b' => 211), |
|
94
|
|
|
'lightgreen' => array('r' => 144, 'g' => 238, 'b' => 144), |
|
95
|
|
|
'lightgrey' => array('r' => 211, 'g' => 211, 'b' => 211), |
|
96
|
|
|
'lightpink' => array('r' => 255, 'g' => 182, 'b' => 193), |
|
97
|
|
|
'lightsalmon' => array('r' => 255, 'g' => 160, 'b' => 122), |
|
98
|
|
|
'lightseagreen' => array('r' => 32, 'g' => 178, 'b' => 170), |
|
99
|
|
|
'lightskyblue' => array('r' => 135, 'g' => 206, 'b' => 250), |
|
100
|
|
|
'lightslategray' => array('r' => 119, 'g' => 136, 'b' => 153), |
|
101
|
|
|
'lightslategrey' => array('r' => 119, 'g' => 136, 'b' => 153), |
|
102
|
|
|
'lightsteelblue' => array('r' => 176, 'g' => 196, 'b' => 222), |
|
103
|
|
|
'lightyellow' => array('r' => 255, 'g' => 255, 'b' => 224), |
|
104
|
|
|
'lime' => array('r' => 0, 'g' => 255, 'b' => 0), |
|
105
|
|
|
'limegreen' => array('r' => 50, 'g' => 205, 'b' => 50), |
|
106
|
|
|
'linen' => array('r' => 250, 'g' => 240, 'b' => 230), |
|
107
|
|
|
'magenta' => array('r' => 255, 'g' => 0, 'b' => 255), |
|
108
|
|
|
'maroon' => array('r' => 128, 'g' => 0, 'b' => 0), |
|
109
|
|
|
'mediumaquamarine' => array('r' => 102, 'g' => 205, 'b' => 170), |
|
110
|
|
|
'mediumblue' => array('r' => 0, 'g' => 0, 'b' => 205), |
|
111
|
|
|
'mediumorchid' => array('r' => 186, 'g' => 85, 'b' => 211), |
|
112
|
|
|
'mediumpurple' => array('r' => 147, 'g' => 112, 'b' => 219), |
|
113
|
|
|
'mediumseagreen' => array('r' => 60, 'g' => 179, 'b' => 113), |
|
114
|
|
|
'mediumslateblue' => array('r' => 123, 'g' => 104, 'b' => 238), |
|
115
|
|
|
'mediumspringgreen' => array('r' => 0, 'g' => 250, 'b' => 154), |
|
116
|
|
|
'mediumturquoise' => array('r' => 72, 'g' => 209, 'b' => 204), |
|
117
|
|
|
'mediumvioletred' => array('r' => 199, 'g' => 21, 'b' => 133), |
|
118
|
|
|
'midnightblue' => array('r' => 25, 'g' => 25, 'b' => 112), |
|
119
|
|
|
'mintcream' => array('r' => 245, 'g' => 255, 'b' => 250), |
|
120
|
|
|
'mistyrose' => array('r' => 255, 'g' => 228, 'b' => 225), |
|
121
|
|
|
'moccasin' => array('r' => 255, 'g' => 228, 'b' => 181), |
|
122
|
|
|
'navajowhite' => array('r' => 255, 'g' => 222, 'b' => 173), |
|
123
|
|
|
'navy' => array('r' => 0, 'g' => 0, 'b' => 128), |
|
124
|
|
|
'oldlace' => array('r' => 253, 'g' => 245, 'b' => 230), |
|
125
|
|
|
'olive' => array('r' => 128, 'g' => 128, 'b' => 0), |
|
126
|
|
|
'olivedrab' => array('r' => 107, 'g' => 142, 'b' => 35), |
|
127
|
|
|
'orange' => array('r' => 255, 'g' => 165, 'b' => 0), |
|
128
|
|
|
'orangered' => array('r' => 255, 'g' => 69, 'b' => 0), |
|
129
|
|
|
'orchid' => array('r' => 218, 'g' => 112, 'b' => 214), |
|
130
|
|
|
'palegoldenrod' => array('r' => 238, 'g' => 232, 'b' => 170), |
|
131
|
|
|
'palegreen' => array('r' => 152, 'g' => 251, 'b' => 152), |
|
132
|
|
|
'paleturquoise' => array('r' => 175, 'g' => 238, 'b' => 238), |
|
133
|
|
|
'palevioletred' => array('r' => 219, 'g' => 112, 'b' => 147), |
|
134
|
|
|
'papayawhip' => array('r' => 255, 'g' => 239, 'b' => 213), |
|
135
|
|
|
'peachpuff' => array('r' => 255, 'g' => 218, 'b' => 185), |
|
136
|
|
|
'peru' => array('r' => 205, 'g' => 133, 'b' => 63), |
|
137
|
|
|
'pink' => array('r' => 255, 'g' => 192, 'b' => 203), |
|
138
|
|
|
'plum' => array('r' => 221, 'g' => 160, 'b' => 221), |
|
139
|
|
|
'powderblue' => array('r' => 176, 'g' => 224, 'b' => 230), |
|
140
|
|
|
'purple' => array('r' => 128, 'g' => 0, 'b' => 128), |
|
141
|
|
|
'red' => array('r' => 255, 'g' => 0, 'b' => 0), |
|
142
|
|
|
'rosybrown' => array('r' => 188, 'g' => 143, 'b' => 143), |
|
143
|
|
|
'royalblue' => array('r' => 65, 'g' => 105, 'b' => 225), |
|
144
|
|
|
'saddlebrown' => array('r' => 139, 'g' => 69, 'b' => 19), |
|
145
|
|
|
'salmon' => array('r' => 250, 'g' => 128, 'b' => 114), |
|
146
|
|
|
'sandybrown' => array('r' => 244, 'g' => 164, 'b' => 96), |
|
147
|
|
|
'seagreen' => array('r' => 46, 'g' => 139, 'b' => 87), |
|
148
|
|
|
'seashell' => array('r' => 255, 'g' => 245, 'b' => 238), |
|
149
|
|
|
'sienna' => array('r' => 160, 'g' => 82, 'b' => 45), |
|
150
|
|
|
'silver' => array('r' => 192, 'g' => 192, 'b' => 192), |
|
151
|
|
|
'skyblue' => array('r' => 135, 'g' => 206, 'b' => 235), |
|
152
|
|
|
'slateblue' => array('r' => 106, 'g' => 90, 'b' => 205), |
|
153
|
|
|
'slategray' => array('r' => 112, 'g' => 128, 'b' => 144), |
|
154
|
|
|
'slategrey' => array('r' => 112, 'g' => 128, 'b' => 144), |
|
155
|
|
|
'snow' => array('r' => 255, 'g' => 250, 'b' => 250), |
|
156
|
|
|
'springgreen' => array('r' => 0, 'g' => 255, 'b' => 127), |
|
157
|
|
|
'steelblue' => array('r' => 70, 'g' => 130, 'b' => 180), |
|
158
|
|
|
'tan' => array('r' => 210, 'g' => 180, 'b' => 140), |
|
159
|
|
|
'teal' => array('r' => 0, 'g' => 128, 'b' => 128), |
|
160
|
|
|
'thistle' => array('r' => 216, 'g' => 191, 'b' => 216), |
|
161
|
|
|
'tomato' => array('r' => 255, 'g' => 99, 'b' => 71), |
|
162
|
|
|
'turquoise' => array('r' => 64, 'g' => 224, 'b' => 208), |
|
163
|
|
|
'violet' => array('r' => 238, 'g' => 130, 'b' => 238), |
|
164
|
|
|
'wheat' => array('r' => 245, 'g' => 222, 'b' => 179), |
|
165
|
|
|
'white' => array('r' => 255, 'g' => 255, 'b' => 255), |
|
166
|
|
|
'whitesmoke' => array('r' => 245, 'g' => 245, 'b' => 245), |
|
167
|
|
|
'yellow' => array('r' => 255, 'g' => 255, 'b' => 0), |
|
168
|
|
|
'yellowgreen' => array('r' => 154, 'g' => 205, 'b' => 50) |
|
169
|
|
|
); |
|
170
|
|
|
|
|
171
|
|
|
/** |
|
172
|
|
|
* Gets a X11 color as RGB if it exists, otherwise returns FALSE. |
|
173
|
|
|
* |
|
174
|
|
|
* @param string $color The color name to search for |
|
175
|
|
|
* @return array|bool Returns a RGB color array if it exists, FALSE otherwise. |
|
176
|
|
|
*/ |
|
177
|
|
|
public static function get(string $color) { |
|
178
|
|
|
$color = strtolower(trim($color)); |
|
179
|
|
|
if (isset(static::$map[$color])) { |
|
180
|
|
|
return static::$map[$color]; |
|
181
|
|
|
} |
|
182
|
|
|
return FALSE; |
|
183
|
|
|
} |
|
184
|
|
|
} |
|
185
|
|
|
|