Wie kann ich diesen hexa code = #2088C1
in einen Farbnamen wie Blau oder Rot umwandeln
Mein Ziel ist es, den Farbnamen wie "blau" für den gegebenen Hexa-Code
zu erhaltenIch habe den folgenden Code ausprobiert, aber es gab keinen Farbnamen.
%Vor%aber es gibt keinen Farbnamen wie dieses "aquablue"
Ich verwende Winforms-Anwendungen mit c #
Ich bin auf eine deutsche Seite gestoßen, die genau das tut, was Sie tun wollen:
%Vor%Um den Farbnamen zu erhalten, können Sie ihn folgendermaßen verwenden: KnownColor :
%Vor%Es gibt keine fertige Funktion dafür. Sie müssen die Liste der bekannten Farben durchlaufen und RGB jeder bekannten Farbe mit dem RGB Ihres Unbekannten vergleichen.
Schauen Sie sich diesen Link an: Ссылка
Wenn Sie Zugriff auf SharePoint-Assemblys haben, enthält Microsoft.SharePoint eine Klasse Microsoft.SharePoint.Utilities.ThemeColor
mit einer statischen Methode GetScreenNameForColor
, die ein System.Drawing.Color
-Objekt akzeptiert und eine string
zurückgibt, die es beschreibt. Es gibt ungefähr 20 verschiedene Farbnamen mit hellen und dunklen Variationen, die zurückgegeben werden können.
Dies ist ein alter Beitrag, aber hier ist ein optimierter Color to KnownColor-Konverter, da die eingebaute .NET ToKnownColor () nicht korrekt mit Adhoc Color-Strukturen funktioniert. Wenn Sie diesen Code zum ersten Mal aufrufen, werden bekannte Farbwerte verzögert und ein kleiner Perf-Treffer ausgegeben. Sequentielle Aufrufe an die Funktion sind eine einfache Wörterbuchsuche und schnell.
%Vor%Wenn Sie nach dem Namen der Farbe suchen, können Sie dies tun, ohne die Farbe in Hex umzuwandeln:
%Vor%Entfernen Sie dann die unerwünschten Symbole, die zurückgegeben werden, die meiste Zeit, wenn Ihre Farbe undefiniert ist, wird sie einen ARGB-Wert zurückgeben, der in diesem Fall keine eingebauten Namen enthält, aber viele Namenswerte enthalten.
Außerdem ist ColorConverter ein guter Weg, um von Hex in Name zu konvertieren, wenn Sie den Hex-Code überhaupt benötigen.