@@ -232,6 +232,171 @@ public static function rgbToString(array $rgb = array()): string
232232 $ rgb ['B ' ] . ') ' ;
233233 }
234234
235+ /**
236+ * Given a standard color name, return hex code
237+ *
238+ * @param string $color_name
239+ * @return string
240+ */
241+ public static function nameToHex (string $ color_name ): string
242+ {
243+ $ colors = array (
244+ 'aliceblue ' => 'F0F8FF ' ,
245+ 'antiquewhite ' => 'FAEBD7 ' ,
246+ 'aqua ' => '00FFFF ' ,
247+ 'aquamarine ' => '7FFFD4 ' ,
248+ 'azure ' => 'F0FFFF ' ,
249+ 'beige ' => 'F5F5DC ' ,
250+ 'bisque ' => 'FFE4C4 ' ,
251+ 'black ' => '000000 ' ,
252+ 'blanchedalmond ' => 'FFEBCD ' ,
253+ 'blue ' => '0000FF ' ,
254+ 'blueviolet ' => '8A2BE2 ' ,
255+ 'brown ' => 'A52A2A ' ,
256+ 'burlywood ' => 'DEB887 ' ,
257+ 'cadetblue ' => '5F9EA0 ' ,
258+ 'chartreuse ' => '7FFF00 ' ,
259+ 'chocolate ' => 'D2691E ' ,
260+ 'coral ' => 'FF7F50 ' ,
261+ 'cornflowerblue ' => '6495ED ' ,
262+ 'cornsilk ' => 'FFF8DC ' ,
263+ 'crimson ' => 'DC143C ' ,
264+ 'cyan ' => '00FFFF ' ,
265+ 'darkblue ' => '00008B ' ,
266+ 'darkcyan ' => '008B8B ' ,
267+ 'darkgoldenrod ' => 'B8860B ' ,
268+ 'darkgray ' => 'A9A9A9 ' ,
269+ 'darkgreen ' => '006400 ' ,
270+ 'darkgrey ' => 'A9A9A9 ' ,
271+ 'darkkhaki ' => 'BDB76B ' ,
272+ 'darkmagenta ' => '8B008B ' ,
273+ 'darkolivegreen ' => '556B2F ' ,
274+ 'darkorange ' => 'FF8C00 ' ,
275+ 'darkorchid ' => '9932CC ' ,
276+ 'darkred ' => '8B0000 ' ,
277+ 'darksalmon ' => 'E9967A ' ,
278+ 'darkseagreen ' => '8FBC8F ' ,
279+ 'darkslateblue ' => '483D8B ' ,
280+ 'darkslategray ' => '2F4F4F ' ,
281+ 'darkslategrey ' => '2F4F4F ' ,
282+ 'darkturquoise ' => '00CED1 ' ,
283+ 'darkviolet ' => '9400D3 ' ,
284+ 'deeppink ' => 'FF1493 ' ,
285+ 'deepskyblue ' => '00BFFF ' ,
286+ 'dimgray ' => '696969 ' ,
287+ 'dimgrey ' => '696969 ' ,
288+ 'dodgerblue ' => '1E90FF ' ,
289+ 'firebrick ' => 'B22222 ' ,
290+ 'floralwhite ' => 'FFFAF0 ' ,
291+ 'forestgreen ' => '228B22 ' ,
292+ 'fuchsia ' => 'FF00FF ' ,
293+ 'gainsboro ' => 'DCDCDC ' ,
294+ 'ghostwhite ' => 'F8F8FF ' ,
295+ 'gold ' => 'FFD700 ' ,
296+ 'goldenrod ' => 'DAA520 ' ,
297+ 'gray ' => '808080 ' ,
298+ 'green ' => '008000 ' ,
299+ 'greenyellow ' => 'ADFF2F ' ,
300+ 'grey ' => '808080 ' ,
301+ 'honeydew ' => 'F0FFF0 ' ,
302+ 'hotpink ' => 'FF69B4 ' ,
303+ 'indianred ' => 'CD5C5C ' ,
304+ 'indigo ' => '4B0082 ' ,
305+ 'ivory ' => 'FFFFF0 ' ,
306+ 'khaki ' => 'F0E68C ' ,
307+ 'lavender ' => 'E6E6FA ' ,
308+ 'lavenderblush ' => 'FFF0F5 ' ,
309+ 'lawngreen ' => '7CFC00 ' ,
310+ 'lemonchiffon ' => 'FFFACD ' ,
311+ 'lightblue ' => 'ADD8E6 ' ,
312+ 'lightcoral ' => 'F08080 ' ,
313+ 'lightcyan ' => 'E0FFFF ' ,
314+ 'lightgoldenrodyellow ' => 'FAFAD2 ' ,
315+ 'lightgray ' => 'D3D3D3 ' ,
316+ 'lightgreen ' => '90EE90 ' ,
317+ 'lightgrey ' => 'D3D3D3 ' ,
318+ 'lightpink ' => 'FFB6C1 ' ,
319+ 'lightsalmon ' => 'FFA07A ' ,
320+ 'lightseagreen ' => '20B2AA ' ,
321+ 'lightskyblue ' => '87CEFA ' ,
322+ 'lightslategray ' => '778899 ' ,
323+ 'lightslategrey ' => '778899 ' ,
324+ 'lightsteelblue ' => 'B0C4DE ' ,
325+ 'lightyellow ' => 'FFFFE0 ' ,
326+ 'lime ' => '00FF00 ' ,
327+ 'limegreen ' => '32CD32 ' ,
328+ 'linen ' => 'FAF0E6 ' ,
329+ 'magenta ' => 'FF00FF ' ,
330+ 'maroon ' => '800000 ' ,
331+ 'mediumaquamarine ' => '66CDAA ' ,
332+ 'mediumblue ' => '0000CD ' ,
333+ 'mediumorchid ' => 'BA55D3 ' ,
334+ 'mediumpurple ' => '9370D0 ' ,
335+ 'mediumseagreen ' => '3CB371 ' ,
336+ 'mediumslateblue ' => '7B68EE ' ,
337+ 'mediumspringgreen ' => '00FA9A ' ,
338+ 'mediumturquoise ' => '48D1CC ' ,
339+ 'mediumvioletred ' => 'C71585 ' ,
340+ 'midnightblue ' => '191970 ' ,
341+ 'mintcream ' => 'F5FFFA ' ,
342+ 'mistyrose ' => 'FFE4E1 ' ,
343+ 'moccasin ' => 'FFE4B5 ' ,
344+ 'navajowhite ' => 'FFDEAD ' ,
345+ 'navy ' => '000080 ' ,
346+ 'oldlace ' => 'FDF5E6 ' ,
347+ 'olive ' => '808000 ' ,
348+ 'olivedrab ' => '6B8E23 ' ,
349+ 'orange ' => 'FFA500 ' ,
350+ 'orangered ' => 'FF4500 ' ,
351+ 'orchid ' => 'DA70D6 ' ,
352+ 'palegoldenrod ' => 'EEE8AA ' ,
353+ 'palegreen ' => '98FB98 ' ,
354+ 'paleturquoise ' => 'AFEEEE ' ,
355+ 'palevioletred ' => 'DB7093 ' ,
356+ 'papayawhip ' => 'FFEFD5 ' ,
357+ 'peachpuff ' => 'FFDAB9 ' ,
358+ 'peru ' => 'CD853F ' ,
359+ 'pink ' => 'FFC0CB ' ,
360+ 'plum ' => 'DDA0DD ' ,
361+ 'powderblue ' => 'B0E0E6 ' ,
362+ 'purple ' => '800080 ' ,
363+ 'red ' => 'FF0000 ' ,
364+ 'rosybrown ' => 'BC8F8F ' ,
365+ 'royalblue ' => '4169E1 ' ,
366+ 'saddlebrown ' => '8B4513 ' ,
367+ 'salmon ' => 'FA8072 ' ,
368+ 'sandybrown ' => 'F4A460 ' ,
369+ 'seagreen ' => '2E8B57 ' ,
370+ 'seashell ' => 'FFF5EE ' ,
371+ 'sienna ' => 'A0522D ' ,
372+ 'silver ' => 'C0C0C0 ' ,
373+ 'skyblue ' => '87CEEB ' ,
374+ 'slateblue ' => '6A5ACD ' ,
375+ 'slategray ' => '708090 ' ,
376+ 'slategrey ' => '708090 ' ,
377+ 'snow ' => 'FFFAFA ' ,
378+ 'springgreen ' => '00FF7F ' ,
379+ 'steelblue ' => '4682B4 ' ,
380+ 'tan ' => 'D2B48C ' ,
381+ 'teal ' => '008080 ' ,
382+ 'thistle ' => 'D8BFD8 ' ,
383+ 'tomato ' => 'FF6347 ' ,
384+ 'turquoise ' => '40E0D0 ' ,
385+ 'violet ' => 'EE82EE ' ,
386+ 'wheat ' => 'F5DEB3 ' ,
387+ 'white ' => 'FFFFFF ' ,
388+ 'whitesmoke ' => 'F5F5F5 ' ,
389+ 'yellow ' => 'FFFF00 ' ,
390+ 'yellowgreen ' => '9ACD32 '
391+ );
392+
393+ $ color_name = strtolower ($ color_name );
394+ if (isset ($ colors [$ color_name ])) {
395+ return '# ' . $ colors [$ color_name ];
396+ }
397+
398+ return $ color_name ;
399+ }
235400
236401 /**
237402 * Given a HEX value, returns a darker color. If no desired amount provided, then the color halfway between
0 commit comments