1 | <?php |
||
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) { |
||
184 | } |
||
185 |