Wie kann ich eine Farbe aus einem hexadezimalen Farbcode (z. B. "#FFDFD991") ermitteln?
Ich lese eine Datei und erhalte einen hexadezimalen Farbcode. Ich muss die entsprechende Instanz "System.Windows.Media.Color" für den hexadezimalen Farbcode erstellen. Gibt es im Framework eine eingebaute Methode, um dies zu tun?
Wenn Sie die RGB-Codes des HTML-Typs (sogenannte Hex-Codes, z. B. #FFCC66) meinen, verwenden Sie die Klasse ColorTranslator:
System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#FFCC66");
Wenn Sie jedoch einen ARGB-Hex-Code verwenden, können Sie die Klasse ColorConverter aus dem System.Windows.Media-Namensraum verwenden:
Color col = ColorConverter.ConvertFromString("#FFDFD991") as Color;
//or = (Color) ColorConverter.ConvertFromString("#FFCC66") ;
Verwenden Sie
System.Drawing.Color.FromArgb(myHashCode);
Wenn Sie HashCode wie in .GetHashCode()
meinen, befürchte ich, dass Sie nicht zurückgehen können. Hash-Funktionen sind nicht bidirektional, Sie können nur vorwärts gehen, nicht zurück.
Folgen Sie Oded's Vorschlag, wenn Sie die Farbe basierend auf dem Hexadezimalwert der Farbe erhalten müssen.