pub fn map_color_name(color_name: &str) -> &str {
let to_color = match color_name {
"AliceBlue" => "#F0F8FF",
"AntiqueWhite" => "#FAEBD7",
"Aqua" => "#00FFFF",
"Aquamarine" => "#7FFFD4",
"Azure" => "#F0FFFF",
"Beige" => "#F5F5DC",
"Bisque" => "#FFE4C4",
"Black" => "#000000",
"BlanchedAlmond" => "#FFEBCD",
"Blue" => "#0000FF",
"BlueViolet" => "#8A2BE2",
"Brown" => "#A52A2A",
"BurlyWood" => "#DEB887",
"CadetBlue" => "#5F9EA0",
"Chartreuse" => "#7FFF00",
"Chocolate" => "#D2691E",
"Coral" => "#FF7F50",
"CornflowerBlue" => "#6495ED",
"Cornsilk" => "#FFF8DC",
"Crimson" => "#DC143C",
"Cyan" => "#00FFFF",
"DarkBlue" => "#00008B",
"DarkCyan" => "#008B8B",
"DarkGoldenRod" => "#B8860B",
"DarkGray" => "#A9A9A9",
"DarkGreen" => "#006400",
"DarkKhaki" => "#BDB76B",
"DarkMagenta" => "#8B008B",
"DarkOliveGreen" => "#556B2F",
"Darkorange" => "#FF8C00",
"DarkOrchid" => "#9932CC",
"DarkRed" => "#8B0000",
"DarkSalmon" => "#E9967A",
"DarkSeaGreen" => "#8FBC8F",
"DarkSlateBlue" => "#483D8B",
"DarkSlateGray" => "#2F4F4F",
"DarkTurquoise" => "#00CED1",
"DarkViolet" => "#9400D3",
"DeepPink" => "#FF1493",
"DeepSkyBlue" => "#00BFFF",
"DimGray" => "#696969",
"DodgerBlue" => "#1E90FF",
"Feldspar" => "#D19275",
"FireBrick" => "#B22222",
"FloralWhite" => "#FFFAF0",
"ForestGreen" => "#228B22",
"Fuchsia" => "#FF00FF",
"Gainsboro" => "#DCDCDC",
"GhostWhite" => "#F8F8FF",
"Gold" => "#FFD700",
"GoldenRod" => "#DAA520",
"Gray" => "#808080",
"Green" => "#008000",
"GreenYellow" => "#ADFF2F",
"HoneyDew" => "#F0FFF0",
"HotPink" => "#FF69B4",
"IndianRed" => "#CD5C5C",
"Indigo" => "#4B0082",
"Ivory" => "#FFFFF0",
"Khaki" => "#F0E68C",
"Lavender" => "#E6E6FA",
"LavenderBlush" => "#FFF0F5",
"LawnGreen" => "#7CFC00",
"LemonChiffon" => "#FFFACD",
"LightBlue" => "#ADD8E6",
"LightCoral" => "#F08080",
"LightCyan" => "#E0FFFF",
"LightGoldenRodYellow" => "#FAFAD2",
"LightGrey" => "#D3D3D3",
"LightGreen" => "#90EE90",
"LightPink" => "#FFB6C1",
"LightSalmon" => "#FFA07A",
"LightSeaGreen" => "#20B2AA",
"LightSkyBlue" => "#87CEFA",
"LightSlateBlue" => "#8470FF",
"LightSlateGray" => "#778899",
"LightSteelBlue" => "#B0C4DE",
"LightYellow" => "#FFFFE0",
"Lime" => "#00FF00",
"LimeGreen" => "#32CD32",
"Linen" => "#FAF0E6",
"Magenta" => "#FF00FF",
"Maroon" => "#800000",
"MediumAquaMarine" => "#66CDAA",
"MediumBlue" => "#0000CD",
"MediumOrchid" => "#BA55D3",
"MediumPurple" => "#9370D8",
"MediumSeaGreen" => "#3CB371",
"MediumSlateBlue" => "#7B68EE",
"MediumSpringGreen" => "#00FA9A",
"MediumTurquoise" => "#48D1CC",
"MediumVioletRed" => "#C71585",
"MidnightBlue" => "#191970",
"MintCream" => "#F5FFFA",
"MistyRose" => "#FFE4E1",
"Moccasin" => "#FFE4B5",
"NavajoWhite" => "#FFDEAD",
"Navy" => "#000080",
"OldLace" => "#FDF5E6",
"Olive" => "#808000",
"OliveDrab" => "#6B8E23",
"Orange" => "#FFA500",
"OrangeRed" => "#FF4500",
"Orchid" => "#DA70D6",
"PaleGoldenRod" => "#EEE8AA",
"PaleGreen" => "#98FB98",
"PaleTurquoise" => "#AFEEEE",
"PaleVioletRed" => "#D87093",
"PapayaWhip" => "#FFEFD5",
"PeachPuff" => "#FFDAB9",
"Peru" => "#CD853F",
"Pink" => "#FFC0CB",
"Plum" => "#DDA0DD",
"PowderBlue" => "#B0E0E6",
"Purple" => "#800080",
"Red" => "#FF0000",
"RosyBrown" => "#BC8F8F",
"RoyalBlue" => "#4169E1",
"SaddleBrown" => "#8B4513",
"Salmon" => "#FA8072",
"SandyBrown" => "#F4A460",
"SeaGreen" => "#2E8B57",
"SeaShell" => "#FFF5EE",
"Sienna" => "#A0522D",
"Silver" => "#C0C0C0",
"SkyBlue" => "#87CEEB",
"SlateBlue" => "#6A5ACD",
"SlateGray" => "#708090",
"Snow" => "#FFFAFA",
"SpringGreen" => "#00FF7F",
"SteelBlue" => "#4682B4",
"Tan" => "#D2B48C",
"Teal" => "#008080",
"Thistle" => "#D8BFD8",
"Tomato" => "#FF6347",
"Turquoise" => "#40E0D0",
"Violet" => "#EE82EE",
"VioletRed" => "#D02090",
"Wheat" => "#F5DEB3",
"White" => "#FFFFFF",
"WhiteSmoke" => "#F5F5F5",
"Yellow" => "#FFFF00",
"YellowGreen" => "#9ACD32",
_ => panic!("[color-convert] map_color_name not match color_name value.")
};
to_color
}
pub fn map_name_to_name(color_name: &str) -> &str {
let to_color_name = match color_name {
"blue" => "Blue",
"pink" => "Pink",
"powderblue" => "PowderBlue",
"darkorange" => "Darkorange",
"saddlebrown" => "SaddleBrown",
"slategray" => "SlateGray",
"indianred" => "IndianRed",
"fuchsia" => "Fuchsia",
"snow" => "Snow",
"lawngreen" => "LawnGreen",
"steelblue" => "SteelBlue",
"mediumslateblue" => "MediumSlateBlue",
"black" => "Black",
"aliceblue" => "AliceBlue",
"salmon" => "Salmon",
"crimson" => "Crimson",
"royalblue" => "RoyalBlue",
"white" => "White",
"navajowhite" => "NavajoWhite",
"cornsilk" => "Cornsilk",
"bisque" => "Bisque",
"palegreen" => "PaleGreen",
"brown" => "Brown",
"darkturquoise" => "DarkTurquoise",
"darkgreen" => "DarkGreen",
"mediumvioletred" => "MediumVioletRed",
"darkviolet" => "DarkViolet",
"darkgray" => "DarkGray",
"darkgoldenrod" => "DarkGoldenRod",
"mediumorchid" => "MediumOrchid",
"chocolate" => "Chocolate",
"purple" => "Purple",
"papayawhip" => "PapayaWhip",
"olive" => "Olive",
"lightslategray" => "LightSlateGray",
"darkmagenta" => "DarkMagenta",
"peachpuff" => "PeachPuff",
"tomato" => "Tomato",
"violet" => "Violet",
"mediumspringgreen" => "MediumSpringGreen",
"dodgerblue" => "DodgerBlue",
"aqua" => "Aqua",
"hotpink" => "HotPink",
"violetred" => "VioletRed",
"forestgreen" => "ForestGreen",
"lemonchiffon" => "LemonChiffon",
"mintcream" => "MintCream",
"seashell" => "SeaShell",
"goldenrod" => "GoldenRod",
"indigo" => "Indigo",
"cornflowerblue" => "CornflowerBlue",
"cadetblue" => "CadetBlue",
"lightyellow" => "LightYellow",
"darkblue" => "DarkBlue",
"limegreen" => "LimeGreen",
"deepskyblue" => "DeepSkyBlue",
"darkkhaki" => "DarkKhaki",
"lightgrey" => "LightGrey",
"whitesmoke" => "WhiteSmoke",
"yellow" => "Yellow",
"gainsboro" => "Gainsboro",
"sienna" => "Sienna",
"lavenderblush" => "LavenderBlush",
"sandybrown" => "SandyBrown",
"deeppink" => "DeepPink",
"feldspar" => "Feldspar",
"magenta" => "Magenta",
"silver" => "Silver",
"lime" => "Lime",
"darkcyan" => "DarkCyan",
"greenyellow" => "GreenYellow",
"darkorchid" => "DarkOrchid",
"lightsalmon" => "LightSalmon",
"lightgoldenrodyellow" => "LightGoldenRodYellow",
"olivedrab" => "OliveDrab",
"darkred" => "DarkRed",
"lightskyblue" => "LightSkyBlue",
"slateblue" => "SlateBlue",
"orange" => "Orange",
"chartreuse" => "Chartreuse",
"maroon" => "Maroon",
"peru" => "Peru",
"mediumturquoise" => "MediumTurquoise",
"aquamarine" => "Aquamarine",
"lightcoral" => "LightCoral",
"thistle" => "Thistle",
"red" => "Red",
"darkslategray" => "DarkSlateGray",
"khaki" => "Khaki",
"wheat" => "Wheat",
"lightslateblue" => "LightSlateBlue",
"lightpink" => "LightPink",
"burlywood" => "BurlyWood",
"lightseagreen" => "LightSeaGreen",
"mediumblue" => "MediumBlue",
"darksalmon" => "DarkSalmon",
"rosybrown" => "RosyBrown",
"blueviolet" => "BlueViolet",
"cyan" => "Cyan",
"mediumpurple" => "MediumPurple",
"midnightblue" => "MidnightBlue",
"firebrick" => "FireBrick",
"paleturquoise" => "PaleTurquoise",
"gray" => "Gray",
"palevioletred" => "PaleVioletRed",
"mediumseagreen" => "MediumSeaGreen",
"lightblue" => "LightBlue",
"coral" => "Coral",
"turquoise" => "Turquoise",
"ivory" => "Ivory",
"darkslateblue" => "DarkSlateBlue",
"lightgreen" => "LightGreen",
"linen" => "Linen",
"green" => "Green",
"beige" => "Beige",
"teal" => "Teal",
"azure" => "Azure",
"moccasin" => "Moccasin",
"orangered" => "OrangeRed",
"lightsteelblue" => "LightSteelBlue",
"tan" => "Tan",
"antiquewhite" => "AntiqueWhite",
"palegoldenrod" => "PaleGoldenRod",
"skyblue" => "SkyBlue",
"ghostwhite" => "GhostWhite",
"honeydew" => "HoneyDew",
"floralwhite" => "FloralWhite",
"dimgray" => "DimGray",
"seagreen" => "SeaGreen",
"lavender" => "Lavender",
"blanchedalmond" => "BlanchedAlmond",
"darkolivegreen" => "DarkOliveGreen",
"lightcyan" => "LightCyan",
"darkseagreen" => "DarkSeaGreen",
"mediumaquamarine" => "MediumAquaMarine",
"plum" => "Plum",
"gold" => "Gold",
"springgreen" => "SpringGreen",
"navy" => "Navy",
"mistyrose" => "MistyRose",
"orchid" => "Orchid",
"yellowgreen" => "YellowGreen",
"oldlace" => "OldLace",
_ => panic!("[color-convert] map_name_to_name not match color_name value.")
};
to_color_name
}
pub fn map_hex(match_char: &str) -> usize {
let upper_char = match_char.to_uppercase();
let match_number = match upper_char.as_str() {
"A" => 10,
"B" => 11,
"C" => 12,
"D" => 13,
"E" => 14,
"F" => 15,
"1" => 1,
"2" => 2,
"3" => 3,
"4" => 4,
"5" => 5,
"6" => 6,
"7" => 7,
"8" => 8,
"9" => 9,
"0" => 0,
_ => panic!("[color-convert] map_hex not match match_char value.")
};
match_number
}
pub fn map_rgb<'a>(match_number: &'a usize) -> &'a str {
let match_str: &'a str = match *match_number {
0 => "0",
1 => "1",
2 => "2",
3 => "3",
4 => "4",
5 => "5",
6 => "6",
7 => "7",
8 => "8",
9 => "9",
10 => "A",
11 => "B",
12 => "C",
13 => "D",
14 => "E",
15 => "F",
_ => panic!("[color-convert] map_rgb not match match_number value.")
};
match_str
}