<?php
header('Content-Type: image/png');
"pink" => "FFC0CB",
"lightpink" => "FFB6C1",
"hotpink" => "FF69B4",
"deeppink" => "FF1493",
"palevioletred" => "DB7093",
"mediumvioletred" => "C71585",
"lightsalmon" => "FFA07A",
"salmon" => "FA8072",
"darksalmon" => "E9967A",
"lightcoral" => "F08080",
"indianred" => "CD5C5C",
"crimson" => "DC143C",
"firebrick" => "B22222",
"darkred" => "8B0000",
"red" => "FF0000",
"orangered" => "FF4500",
"tomato" => "FF6347",
"coral" => "FF7F50",
"darkorange" => "FF8C00",
"orange" => "FFA500",
"gold" => "FFD700",
"yellow" => "FFFF00",
"lightyellow" => "FFFFE0",
"lemonchiffon" => "FFFACD",
"lightgoldenrodyellow" => "FAFAD2",
"papayawhip" => "FFEFD5",
"moccasin" => "FFE4B5",
"peachpuff" => "FFDAB9",
"palegoldenrod" => "EEE8AA",
"khaki" => "F0E68C",
"darkkhaki" => "BDB76B",
"cornsilk" => "FFF8DC",
"blanchedalmond" => "FFEBCD",
"bisque" => "FFE4C4",
"navajowhite" => "FFDEAD",
"wheat" => "F5DEB3",
"burlywood" => "DEB887",
"tan" => "D2B48C",
"rosybrown" => "BC8F8F",
"sandybrown" => "F4A460",
"goldenrod" => "DAA520",
"darkgoldenrod" => "B8860B",
"peru" => "CD853F",
"chocolate" => "D2691E",
"saddlebrown" => "8B4513",
"sienna" => "A0522D",
"brown" => "A52A2A",
"maroon" => "800000",
"darkolivegreen" => "556B2F",
"olive" => "808000",
"olivedrab" => "6B8E23",
"yellowgreen" => "9ACD32",
"limegreen" => "32CD32",
"lime" => "00FF00",
"lawngreen" => "7CFC00",
"chartreuse" => "7FFF00",
"greenyellow" => "ADFF2F",
"springgreen" => "00FF7F",
"mediumspringgreen" => "00FA9A",
"lightgreen" => "90EE90",
"palegreen" => "98FB98",
"darkseagreen" => "8FBC8F",
"mediumseagreen" => "3CB371",
"seagreen" => "2E8B57",
"forestgreen" => "228B22",
"green" => "008000",
"darkgreen" => "006400",
"mediumaquamarine" => "66CDAA",
"aqua" => "00FFFF",
"cyan" => "00FFFF",
"lightcyan" => "E0FFFF",
"paleturquoise" => "AFEEEE",
"aquamarine" => "7FFFD4",
"turquoise" => "40E0D0",
"mediumturquoise" => "48D1CC",
"darkturquoise" => "00CED1",
"lightseagreen" => "20B2AA",
"cadetblue" => "5F9EA0",
"darkcyan" => "008B8B",
"teal" => "008080",
"lightsteelblue" => "B0C4DE",
"powderblue" => "B0E0E6",
"lightblue" => "ADD8E6",
"skyblue" => "87CEEB",
"lightskyblue" => "87CEFA",
"deepskyblue" => "00BFFF",
"dodgerblue" => "1E90FF",
"cornflowerblue" => "6495ED",
"steelblue" => "4682B4",
"royalblue" => "4169E1",
"blue" => "0000FF",
"mediumblue" => "0000CD",
"darkblue" => "00008B",
"navy" => "000080",
"midnightblue" => "191970",
"lavender" => "E6E6FA",
"thistle" => "D8BFD8",
"plum" => "DDA0DD",
"violet" => "EE82EE",
"orchid" => "DA70D6",
"fuchsia" => "FF00FF",
"magenta" => "FF00FF",
"mediumorchid" => "BA55D3",
"mediumpurple" => "9370DB",
"blueviolet" => "8A2BE2",
"darkviolet" => "9400D3",
"darkorchid" => "9932CC",
"darkmagenta" => "8B008B",
"purple" => "800080",
"indigo" => "4B0082",
"darkslateblue" => "483D8B",
"slateblue" => "6A5ACD",
"mediumslateblue" => "7B68EE",
"white" => "FFFFFF",
"snow" => "FFFAFA",
"honeydew" => "F0FFF0",
"mintcream" => "F5FFFA",
"azure" => "F0FFFF",
"aliceblue" => "F0F8FF",
"ghostwhite" => "F8F8FF",
"whitesmoke" => "F5F5F5",
"seashell" => "FFF5EE",
"beige" => "F5F5DC",
"oldlace" => "FDF5E6",
"floralwhite" => "FFFAF0",
"ivory" => "FFFFF0",
"antiquewhite" => "FAEBD7",
"linen" => "FAF0E6",
"lavenderblush" => "FFF0F5",
"mistyrose" => "FFE4E1",
"gainsboro" => "DCDCDC",
"lightgray" => "D3D3D3",
"lightgrey" => "D3D3D3",
"silver" => "C0C0C0",
"darkgray" => "A9A9A9",
"darkgrey" => "A9A9A9",
"gray" => "808080",
"grey" => "808080",
"dimgray" => "696969",
"dimgrey" => "696969",
"lightslategray" => "778899",
"lightslategrey" => "778899",
"slategray" => "708090",
"slategrey" => "708090",
"darkslategray" => "2F4F4F",
"darkslategrey" => "2F4F4F",
"black" => "000000"
);
function rgbFromHex($hexValue) {
//$hexValue = str_replace('#', '', $hexValue);
//SILLY ME WAS EXPECTING # TO BE PASSED. BUT USING $_GET[] VARIABLES THAT ISN'T POSSIBLE... DAMMIT.
return null;
}
if (strlen($hexValue) == 3) { //CHECK FOR SHORTHAND $r = hexdec($hexValue[0] . $hexValue[0]); $g = hexdec($hexValue[1] . $hexValue[1]); $b = hexdec($hexValue[2] . $hexValue[2]); } else { //FUNCTION FOR NORMAL 6 DIGIT VALUES
}
}
function rgbFromName($name){
global $colornames;
$hexStr = isset($colornames[$name]) ?
$colornames[$name] : $name; return rgbFromHex($hexStr);
}
function createSwatch($colors){
$colWidth = 200 / count($colArray); $x = 0;
foreach($colArray as $col){
$rgb = rgbFromName($col);
if (!$rgb){
//invalid color
}
$color = imagecolorallocate($im, $rgb[0], $rgb[1], $rgb[2]); //FIND A BETTER WAY TO DO THIS.
$x += $colWidth;
}
}
createSwatch('ff0000,00ff00,00f,ff0,0ff,red,green,blue,black,yellow,orange,PURPLE,WhiteSmoke')
?>
PD9waHAKaGVhZGVyKCdDb250ZW50LVR5cGU6IGltYWdlL3BuZycpOwoKJGNvbG9ybmFtZXMgPSBhcnJheSgKICAgICJwaW5rIiA9PiAiRkZDMENCIiwKCSJsaWdodHBpbmsiID0+ICJGRkI2QzEiLAoJImhvdHBpbmsiID0+ICJGRjY5QjQiLAoJImRlZXBwaW5rIiA9PiAiRkYxNDkzIiwKCSJwYWxldmlvbGV0cmVkIiA9PiAiREI3MDkzIiwKCSJtZWRpdW12aW9sZXRyZWQiID0+ICJDNzE1ODUiLAoJImxpZ2h0c2FsbW9uIiA9PiAiRkZBMDdBIiwKCSJzYWxtb24iID0+ICJGQTgwNzIiLAoJImRhcmtzYWxtb24iID0+ICJFOTk2N0EiLAoJImxpZ2h0Y29yYWwiID0+ICJGMDgwODAiLAoJImluZGlhbnJlZCIgPT4gIkNENUM1QyIsCgkiY3JpbXNvbiIgPT4gIkRDMTQzQyIsCgkiZmlyZWJyaWNrIiA9PiAiQjIyMjIyIiwKCSJkYXJrcmVkIiA9PiAiOEIwMDAwIiwKCSJyZWQiID0+ICJGRjAwMDAiLAoJIm9yYW5nZXJlZCIgPT4gIkZGNDUwMCIsCgkidG9tYXRvIiA9PiAiRkY2MzQ3IiwKCSJjb3JhbCIgPT4gIkZGN0Y1MCIsCgkiZGFya29yYW5nZSIgPT4gIkZGOEMwMCIsCgkib3JhbmdlIiA9PiAiRkZBNTAwIiwKCSJnb2xkIiA9PiAiRkZENzAwIiwKCSJ5ZWxsb3ciID0+ICJGRkZGMDAiLAoJImxpZ2h0eWVsbG93IiA9PiAiRkZGRkUwIiwKCSJsZW1vbmNoaWZmb24iID0+ICJGRkZBQ0QiLAoJImxpZ2h0Z29sZGVucm9keWVsbG93IiA9PiAiRkFGQUQyIiwKCSJwYXBheWF3aGlwIiA9PiAiRkZFRkQ1IiwKCSJtb2NjYXNpbiIgPT4gIkZGRTRCNSIsCgkicGVhY2hwdWZmIiA9PiAiRkZEQUI5IiwKCSJwYWxlZ29sZGVucm9kIiA9PiAiRUVFOEFBIiwKCSJraGFraSIgPT4gIkYwRTY4QyIsCgkiZGFya2toYWtpIiA9PiAiQkRCNzZCIiwKCSJjb3Juc2lsayIgPT4gIkZGRjhEQyIsCgkiYmxhbmNoZWRhbG1vbmQiID0+ICJGRkVCQ0QiLAoJImJpc3F1ZSIgPT4gIkZGRTRDNCIsCgkibmF2YWpvd2hpdGUiID0+ICJGRkRFQUQiLAoJIndoZWF0IiA9PiAiRjVERUIzIiwKCSJidXJseXdvb2QiID0+ICJERUI4ODciLAoJInRhbiIgPT4gIkQyQjQ4QyIsCgkicm9zeWJyb3duIiA9PiAiQkM4RjhGIiwKCSJzYW5keWJyb3duIiA9PiAiRjRBNDYwIiwKCSJnb2xkZW5yb2QiID0+ICJEQUE1MjAiLAoJImRhcmtnb2xkZW5yb2QiID0+ICJCODg2MEIiLAoJInBlcnUiID0+ICJDRDg1M0YiLAoJImNob2NvbGF0ZSIgPT4gIkQyNjkxRSIsCgkic2FkZGxlYnJvd24iID0+ICI4QjQ1MTMiLAoJInNpZW5uYSIgPT4gIkEwNTIyRCIsCgkiYnJvd24iID0+ICJBNTJBMkEiLAoJIm1hcm9vbiIgPT4gIjgwMDAwMCIsCgkiZGFya29saXZlZ3JlZW4iID0+ICI1NTZCMkYiLAoJIm9saXZlIiA9PiAiODA4MDAwIiwKCSJvbGl2ZWRyYWIiID0+ICI2QjhFMjMiLAoJInllbGxvd2dyZWVuIiA9PiAiOUFDRDMyIiwKCSJsaW1lZ3JlZW4iID0+ICIzMkNEMzIiLAoJImxpbWUiID0+ICIwMEZGMDAiLAoJImxhd25ncmVlbiIgPT4gIjdDRkMwMCIsCgkiY2hhcnRyZXVzZSIgPT4gIjdGRkYwMCIsCgkiZ3JlZW55ZWxsb3ciID0+ICJBREZGMkYiLAoJInNwcmluZ2dyZWVuIiA9PiAiMDBGRjdGIiwKCSJtZWRpdW1zcHJpbmdncmVlbiIgPT4gIjAwRkE5QSIsCgkibGlnaHRncmVlbiIgPT4gIjkwRUU5MCIsCgkicGFsZWdyZWVuIiA9PiAiOThGQjk4IiwKCSJkYXJrc2VhZ3JlZW4iID0+ICI4RkJDOEYiLAoJIm1lZGl1bXNlYWdyZWVuIiA9PiAiM0NCMzcxIiwKCSJzZWFncmVlbiIgPT4gIjJFOEI1NyIsCgkiZm9yZXN0Z3JlZW4iID0+ICIyMjhCMjIiLAoJImdyZWVuIiA9PiAiMDA4MDAwIiwKCSJkYXJrZ3JlZW4iID0+ICIwMDY0MDAiLAoJIm1lZGl1bWFxdWFtYXJpbmUiID0+ICI2NkNEQUEiLAoJImFxdWEiID0+ICIwMEZGRkYiLAoJImN5YW4iID0+ICIwMEZGRkYiLAoJImxpZ2h0Y3lhbiIgPT4gIkUwRkZGRiIsCgkicGFsZXR1cnF1b2lzZSIgPT4gIkFGRUVFRSIsCgkiYXF1YW1hcmluZSIgPT4gIjdGRkZENCIsCgkidHVycXVvaXNlIiA9PiAiNDBFMEQwIiwKCSJtZWRpdW10dXJxdW9pc2UiID0+ICI0OEQxQ0MiLAoJImRhcmt0dXJxdW9pc2UiID0+ICIwMENFRDEiLAoJImxpZ2h0c2VhZ3JlZW4iID0+ICIyMEIyQUEiLAoJImNhZGV0Ymx1ZSIgPT4gIjVGOUVBMCIsCgkiZGFya2N5YW4iID0+ICIwMDhCOEIiLAoJInRlYWwiID0+ICIwMDgwODAiLAoJImxpZ2h0c3RlZWxibHVlIiA9PiAiQjBDNERFIiwKCSJwb3dkZXJibHVlIiA9PiAiQjBFMEU2IiwKCSJsaWdodGJsdWUiID0+ICJBREQ4RTYiLAoJInNreWJsdWUiID0+ICI4N0NFRUIiLAoJImxpZ2h0c2t5Ymx1ZSIgPT4gIjg3Q0VGQSIsCgkiZGVlcHNreWJsdWUiID0+ICIwMEJGRkYiLAoJImRvZGdlcmJsdWUiID0+ICIxRTkwRkYiLAoJImNvcm5mbG93ZXJibHVlIiA9PiAiNjQ5NUVEIiwKCSJzdGVlbGJsdWUiID0+ICI0NjgyQjQiLAoJInJveWFsYmx1ZSIgPT4gIjQxNjlFMSIsCgkiYmx1ZSIgPT4gIjAwMDBGRiIsCgkibWVkaXVtYmx1ZSIgPT4gIjAwMDBDRCIsCgkiZGFya2JsdWUiID0+ICIwMDAwOEIiLAoJIm5hdnkiID0+ICIwMDAwODAiLAoJIm1pZG5pZ2h0Ymx1ZSIgPT4gIjE5MTk3MCIsCgkibGF2ZW5kZXIiID0+ICJFNkU2RkEiLAoJInRoaXN0bGUiID0+ICJEOEJGRDgiLAoJInBsdW0iID0+ICJEREEwREQiLAoJInZpb2xldCIgPT4gIkVFODJFRSIsCgkib3JjaGlkIiA9PiAiREE3MEQ2IiwKCSJmdWNoc2lhIiA9PiAiRkYwMEZGIiwKCSJtYWdlbnRhIiA9PiAiRkYwMEZGIiwKCSJtZWRpdW1vcmNoaWQiID0+ICJCQTU1RDMiLAoJIm1lZGl1bXB1cnBsZSIgPT4gIjkzNzBEQiIsCgkiYmx1ZXZpb2xldCIgPT4gIjhBMkJFMiIsCgkiZGFya3Zpb2xldCIgPT4gIjk0MDBEMyIsCgkiZGFya29yY2hpZCIgPT4gIjk5MzJDQyIsCgkiZGFya21hZ2VudGEiID0+ICI4QjAwOEIiLAoJInB1cnBsZSIgPT4gIjgwMDA4MCIsCgkiaW5kaWdvIiA9PiAiNEIwMDgyIiwKCSJkYXJrc2xhdGVibHVlIiA9PiAiNDgzRDhCIiwKCSJzbGF0ZWJsdWUiID0+ICI2QTVBQ0QiLAoJIm1lZGl1bXNsYXRlYmx1ZSIgPT4gIjdCNjhFRSIsCgkid2hpdGUiID0+ICJGRkZGRkYiLAoJInNub3ciID0+ICJGRkZBRkEiLAoJImhvbmV5ZGV3IiA9PiAiRjBGRkYwIiwKCSJtaW50Y3JlYW0iID0+ICJGNUZGRkEiLAoJImF6dXJlIiA9PiAiRjBGRkZGIiwKCSJhbGljZWJsdWUiID0+ICJGMEY4RkYiLAoJImdob3N0d2hpdGUiID0+ICJGOEY4RkYiLAoJIndoaXRlc21va2UiID0+ICJGNUY1RjUiLAoJInNlYXNoZWxsIiA9PiAiRkZGNUVFIiwKCSJiZWlnZSIgPT4gIkY1RjVEQyIsCgkib2xkbGFjZSIgPT4gIkZERjVFNiIsCgkiZmxvcmFsd2hpdGUiID0+ICJGRkZBRjAiLAoJIml2b3J5IiA9PiAiRkZGRkYwIiwKCSJhbnRpcXVld2hpdGUiID0+ICJGQUVCRDciLAoJImxpbmVuIiA9PiAiRkFGMEU2IiwKCSJsYXZlbmRlcmJsdXNoIiA9PiAiRkZGMEY1IiwKCSJtaXN0eXJvc2UiID0+ICJGRkU0RTEiLAoJImdhaW5zYm9ybyIgPT4gIkRDRENEQyIsCgkibGlnaHRncmF5IiA9PiAiRDNEM0QzIiwKCSJsaWdodGdyZXkiID0+ICJEM0QzRDMiLAoJInNpbHZlciIgPT4gIkMwQzBDMCIsCgkiZGFya2dyYXkiID0+ICJBOUE5QTkiLAoJImRhcmtncmV5IiA9PiAiQTlBOUE5IiwKCSJncmF5IiA9PiAiODA4MDgwIiwKCSJncmV5IiA9PiAiODA4MDgwIiwKCSJkaW1ncmF5IiA9PiAiNjk2OTY5IiwKCSJkaW1ncmV5IiA9PiAiNjk2OTY5IiwKCSJsaWdodHNsYXRlZ3JheSIgPT4gIjc3ODg5OSIsCgkibGlnaHRzbGF0ZWdyZXkiID0+ICI3Nzg4OTkiLAoJInNsYXRlZ3JheSIgPT4gIjcwODA5MCIsCgkic2xhdGVncmV5IiA9PiAiNzA4MDkwIiwKCSJkYXJrc2xhdGVncmF5IiA9PiAiMkY0RjRGIiwKCSJkYXJrc2xhdGVncmV5IiA9PiAiMkY0RjRGIiwKCSJibGFjayIgPT4gIjAwMDAwMCIKKTsKCmZ1bmN0aW9uIHJnYkZyb21IZXgoJGhleFZhbHVlKSB7CiAgICAgICAgLy8kaGV4VmFsdWUgPSBzdHJfcmVwbGFjZSgnIycsICcnLCAkaGV4VmFsdWUpOwogICAgICAgIC8vU0lMTFkgTUUgV0FTIEVYUEVDVElORyAjIFRPIEJFIFBBU1NFRC4gQlVUIFVTSU5HICRfR0VUW10gVkFSSUFCTEVTIFRIQVQgSVNOJ1QgUE9TU0lCTEUuLi4gREFNTUlULgogICAgICAgIAogICAgICAgIGlmICgoc3RybGVuKCRoZXhWYWx1ZSkgIT0gMyAmJiBzdHJsZW4oJGhleFZhbHVlKSAhPSA2KSB8fCAhY3R5cGVfeGRpZ2l0KCRoZXhWYWx1ZSkpewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CiAgICAgICAKICAgICAgICBpZiAoc3RybGVuKCRoZXhWYWx1ZSkgPT0gMykgeyAvL0NIRUNLIEZPUiBTSE9SVEhBTkQKICAgICAgICAgICAgICAgICRyID0gaGV4ZGVjKCRoZXhWYWx1ZVswXSAuICRoZXhWYWx1ZVswXSk7CiAgICAgICAgICAgICAgICAkZyA9IGhleGRlYygkaGV4VmFsdWVbMV0gLiAkaGV4VmFsdWVbMV0pOwogICAgICAgICAgICAgICAgJGIgPSBoZXhkZWMoJGhleFZhbHVlWzJdIC4gJGhleFZhbHVlWzJdKTsKICAgICAgICB9IGVsc2UgeyAvL0ZVTkNUSU9OIEZPUiBOT1JNQUwgNiBESUdJVCBWQUxVRVMKICAgICAgICAgICAgICAgICRyID0gaGV4ZGVjKHN1YnN0cigkaGV4VmFsdWUsIDAsIDIpKTsKICAgICAgICAgICAgICAgICRnID0gaGV4ZGVjKHN1YnN0cigkaGV4VmFsdWUsIDIsIDIpKTsKICAgICAgICAgICAgICAgICRiID0gaGV4ZGVjKHN1YnN0cigkaGV4VmFsdWUsIDQsIDIpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFycmF5KCRyLCRnLCRiKTsKfQoKZnVuY3Rpb24gcmdiRnJvbU5hbWUoJG5hbWUpewogICAgZ2xvYmFsICRjb2xvcm5hbWVzOwogICAgJG5hbWUgPSBzdHJ0b2xvd2VyKCRuYW1lKTsKICAgICRoZXhTdHIgPSBpc3NldCgkY29sb3JuYW1lc1skbmFtZV0pID8gJGNvbG9ybmFtZXNbJG5hbWVdIDogJG5hbWU7CiAgICByZXR1cm4gcmdiRnJvbUhleCgkaGV4U3RyKTsKfQoKZnVuY3Rpb24gY3JlYXRlU3dhdGNoKCRjb2xvcnMpewoJJGNvbEFycmF5ID0gZXhwbG9kZSgiLCIsICRjb2xvcnMpOwoJJGNvbFdpZHRoID0gMjAwIC8gY291bnQoJGNvbEFycmF5KTsKCSRpbSA9IGltYWdlY3JlYXRlKDIwMCwgNDApOwoJJHggPSAwOwoJCglmb3JlYWNoKCRjb2xBcnJheSBhcyAkY29sKXsKCQkkcmdiID0gcmdiRnJvbU5hbWUoJGNvbCk7CgkJaWYgKCEkcmdiKXsgCiAgICAgICAgICAgIC8vaW52YWxpZCBjb2xvcgogICAgICAgICAgICAkcmdiID0gYXJyYXkoMCwgMCwgMCk7CgkJfQoKCQkkY29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJGltLCAkcmdiWzBdLCAkcmdiWzFdLCAkcmdiWzJdKTsgLy9GSU5EIEEgQkVUVEVSIFdBWSBUTyBETyBUSElTLgoJCQoJCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRpbSwgJHgsIDAsICR4ICsgJGNvbFdpZHRoLCA0MCwgJGNvbG9yKTsKCQkkeCArPSAkY29sV2lkdGg7Cgl9CiAgICAgCiAgICByZXR1cm4gaW1hZ2VwbmcoJGltKTsKfQoKY3JlYXRlU3dhdGNoKCdmZjAwMDAsMDBmZjAwLDAwZixmZjAsMGZmLHJlZCxncmVlbixibHVlLGJsYWNrLHllbGxvdyxvcmFuZ2UsUFVSUExFLFdoaXRlU21va2UnKQo/Pg==