Advertisement
uwekeim

Get German names from a System.Drawing.Color

Nov 4th, 2013
846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.69 KB | None | 0 0
  1. namespace ZetaProducer.Main.UI.Html.Advanced
  2. {
  3.     using System.Collections.Generic;
  4.     using System.Drawing;
  5.  
  6.     /// <summary>
  7.     /// Hard-coded translations of a color to a user-readable German name.
  8.     /// </summary>
  9.     /// <remarks>
  10.     /// Originally developed for http://www.zeta-producer.com.
  11.     /// Use it for whatever you want to.
  12.     /// </remarks>
  13.     internal static class ColorNameGermanTranslator
  14.     {
  15.         /// <summary>
  16.         /// Get the user-readable German name.
  17.         /// </summary>
  18.         /// <param name="color">The color to get the German name for.</param>
  19.         /// <returns>Returns the German name of the English name if none found.</returns>
  20.         public static string GetGermanName(Color color)
  21.         {
  22.             var hc = toHex(color).ToUpperInvariant();
  23.  
  24.             string r;
  25.             if (Names.TryGetValue(hc, out r))
  26.             {
  27.                 return r;
  28.             }
  29.             else if (color.IsNamedColor)
  30.             {
  31.                 return color.Name;
  32.             }
  33.             else
  34.             {
  35.                 return '#' + hc;
  36.             }
  37.         }
  38.  
  39.         /// <summary>
  40.         /// The hard-coded names, based on http://farbe-computer.de/kapitel33.html,
  41.         /// removed all the duplicates from the original list.
  42.         /// </summary>
  43.         private static readonly Dictionary<string, string> Names =
  44.             new Dictionary<string, string>
  45.             {
  46.                 {@"FAEBD7", "Antikweiß"},
  47.                 {@"7FFFD4", "Aquamarin"},
  48.                 {@"F0FFFF", "Azurblau / Himmelblau"},
  49.                 {@"F5F5DC", "Beige"},
  50.                 {@"FFE4C4", "Biskuit / Porzellanfarben"},
  51.                 {@"000000", "Schwarz"},
  52.                 {@"FFEBCD", "Mandelweiß"},
  53.                 {@"0000FF", "Blau"},
  54.                 {@"8A2BE2", "Blauviolet"},
  55.                 {@"A52A2A", "Braun"},
  56.                 {@"DEB887", "Stammholz"},
  57.                 {@"5F9EA0", "Kadettenblau"},
  58.                 {@"7FFF00", "Grüngelb"},
  59.                 {@"D2691E", "Schokolade"},
  60.                 {@"FF7F50", "Koralle"},
  61.                 {@"6495ED", "Kornblumenblau"},
  62.                 {@"FFF8DC", "Kornseide"},
  63.                 {@"DC143C", "Karmesinrot / Blutrot"},
  64.                 {@"00FFFF", "Cyan"},
  65.                 {@"00008B", "Dunkelblau"},
  66.                 {@"008B8B", "Dunkelcyan"},
  67.                 {@"B8860B", "Dunkelgoldrute"},
  68.                 {@"A9A9A9", "Dunkelgrau"},
  69.                 {@"006400", "Dunkelgrün"},
  70.                 {@"BDB76B", "Dunkelkhaki"},
  71.                 {@"8B008B", "Dunkelmagenta"},
  72.                 {@"556B2F", "Dunkelolivengrün"},
  73.                 {@"FF8C00", "Dunkelorange"},
  74.                 {@"9932CC", "Dunkelorchideefarben"},
  75.                 {@"8B0000", "Dunkelrot"},
  76.                 {@"E9967A", "Dunkellachsfarben"},
  77.                 {@"8FBC8F", "Dunkelmeergrün"},
  78.                 {@"483D8B", "Dunkelschieferblau"},
  79.                 {@"2F4F4F", "Dunkelschiefergrau"},
  80.                 {@"00CED1", "Dunkeltürkis"},
  81.                 {@"9400D3", "Dunkelviolet"},
  82.                 {@"FF1493", "Dunkelrosarot"},
  83.                 {@"00BFFF", "Dunkeles Himmelblau"},
  84.                 {@"696969", "Dunkelgrau"},
  85.                 {@"1E90FF", "Persenningblau"},
  86.                 {@"B22222", "Ziegelfarben"},
  87.                 {@"FFFAF0", "Blumenweiß"},
  88.                 {@"228B22", "Waldgrün"},
  89.                 {@"FF00FF", "Fuchsie"},
  90.                 {@"DCDCDC", "Gainsboro"},
  91.                 {@"F8F8F8", "Geisterweiß"},
  92.                 {@"FFD700", "Gold"},
  93.                 {@"DAA520", "Goldrute"},
  94.                 {@"808080", "Grau"},
  95.                 {@"008000", "Grün"},
  96.                 {@"ADFF2F", "Grüngelb"},
  97.                 {@"F0FFF0", "Honigmelone"},
  98.                 {@"FF69B4", "Knallrosa"},
  99.                 {@"CD5C5C", "Indischrot"},
  100.                 {@"4B0082", "Indigo"},
  101.                 {@"FFFFF0", "Elfenbein"},
  102.                 {@"F0E68C", "Khaki"},
  103.                 {@"E6E6FA", "Lavendelfarben"},
  104.                 {@"FFF0F5", "Lavendelrot"},
  105.                 {@"7CFC00", "Rasengrün"},
  106.                 {@"FFFACD", "Zitronenchiffon"},
  107.                 {@"ADD8E6", "Hellblau"},
  108.                 {@"F08080", "Hellkorall"},
  109.                 {@"E9FFFF", "Hellcyan"},
  110.                 {@"FAFAD2", "Helles Goldrutengelb"},
  111.                 {@"90EE90", "Hellgrün"},
  112.                 {@"D3D3D3", "Hellgrau"},
  113.                 {@"FFB6C1", "Hellpink"},
  114.                 {@"FFA07A", "Helllachsfarben"},
  115.                 {@"20B2AA", "Helles Meergrün"},
  116.                 {@"87CEFA", "Helles Himmelblau"},
  117.                 {@"778899", "Helles Schiefergrau"},
  118.                 {@"B0C4DE", "Helles Stahlblau"},
  119.                 {@"FFFFE0", "Hellgelb"},
  120.                 {@"00FF00", "Limone"},
  121.                 {@"32CD32", "Limonengrün"},
  122.                 {@"FAF0E6", "Leinen"},
  123.                 {@"800000", "Kastanienbraun"},
  124.                 {@"66CDAA", "Mittleres Aquamarin"},
  125.                 {@"0000CD", "Mittleres Blau"},
  126.                 {@"BA55D3", "Mittel Orchideenfarben"},
  127.                 {@"9370DB", "Mittleres Purpur"},
  128.                 {@"3CB371", "Mittleres Meergrün"},
  129.                 {@"7B68EE", "Mittleres Schieferblau"},
  130.                 {@"00FA9A", "Mittleres Frühlingsgrün"},
  131.                 {@"48D1CC", "Mittleres Türkis"},
  132.                 {@"C71585", "Mittleres Violetrot"},
  133.                 {@"191970", "Mitternachtsblau"},
  134.                 {@"F5FFFA", "Pfefferminzcreme"},
  135.                 {@"FFE4E1", "Blaß Rosenfarben"},
  136.                 {@"FFE4B5", "Mokassin"},
  137.                 {@"FFDEAD", "Navajoweiß"},
  138.                 {@"000080", "Marineblau"},
  139.                 {@"FDF5E6", "Alte Spitze"},
  140.                 {@"808000", "Olive"},
  141.                 {@"6B8E23", "Olivengraubraun"},
  142.                 {@"FFA500", "Orange"},
  143.                 {@"FF4500", "Orangenrot"},
  144.                 {@"DA70D6", "Orchideenfarben"},
  145.                 {@"EEE8AA", "Blasse Goldrute"},
  146.                 {@"98FB98", "Blassgrün"},
  147.                 {@"AFEEEE", "Blasstürkis"},
  148.                 {@"DB7093", "Blassvioletrot"},
  149.                 {@"FFEFD5", "Papayacreme"},
  150.                 {@"FFDAB9", "Pfirsich"},
  151.                 {@"CD853F", "Peru"},
  152.                 {@"FFC0CB", "Pink"},
  153.                 {@"DDA0DD", "Pflaumenfarben"},
  154.                 {@"B0E0E6", "Pulverblau"},
  155.                 {@"800080", "Purpur"},
  156.                 {@"FF0000", "Rot"},
  157.                 {@"BC8F8F", "Rosiges Braun"},
  158.                 {@"4169E1", "Königsblau"},
  159.                 {@"8B4513", "Sattelbraun"},
  160.                 {@"FA8072", "Lachsfarben"},
  161.                 {@"F4A460", "Sandbraun"},
  162.                 {@"2E8B57", "Meergrün"},
  163.                 {@"FFF5EE", "Seemuschel"},
  164.                 {@"A0522D", "Sienaerde"},
  165.                 {@"C0C0C0", "Silber"},
  166.                 {@"87CEEB", "Himmelblau"},
  167.                 {@"6A5ACD", "Schieferblau"},
  168.                 {@"708090", "Schiefergrau"},
  169.                 {@"FFFAFA", "Schneefarben"},
  170.                 {@"00FF7F", "Frühlingsgrün"},
  171.                 {@"4682B4", "Stahlblau"},
  172.                 {@"D2B48C", "Gerbbraun"},
  173.                 {@"008080", "Blaugrün"},
  174.                 {@"D8BFD8", "Distelfarben"},
  175.                 {@"FF6347", "Tomatenfarben"},
  176.                 {@"40E0D0", "Türkisfarben"},
  177.                 {@"EE82EE", "Violett"},
  178.                 {@"F5DEB3", "Weizenfarben"},
  179.                 {@"FFFFFF", "Weiß"},
  180.                 {@"F5F5F5", "Rauchfarben"},
  181.                 {@"FFFF00", "Gelb"},
  182.                 {@"9ACD32", "Gelbgrün"},
  183.             };
  184.  
  185.         private static string toHex(Color c)
  186.         {
  187.             return string.Format(@"{0:X2}{1:X2}{2:X2}", c.R, c.G, c.B);
  188.         }
  189.     }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement