Jak stworzyć System.Drawing.Color z jego szesnastkowego ciągu RGB?


Odpowiedzi:



62

Możesz użyć metody statycznej System.Drawing.ColorTranslator FromHtml.

posługiwać się:

System.Drawing.ColorTranslator.FromHtml("#FFFFFF");

18

Jest to raczej łatwe, gdy używasz Convert-Class . ToInt32Funkcja ma przeciążenia drugiego parametru, który stanowi podstawę łańcuch jest przypisany.

using System.Drawing

Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));

9

Użyj klasy ColorConverter :

var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );

Może to również konwertować ze standardowych nazwanych kolorów, np. ConvertFromString („Blue”)

Zobacz tutaj omówienie standardowych mechanizmów konwersji typu .NET.


1

Jeśli kolor, którego chcesz użyć, jest stałą, w C # użyj System.Drawing.Color.FromArgb (0xFF00FF). Jest to nieco szybsze niż System.Drawing.Color.FromNamelub System.Drawing.Color.FromHtml, ponieważ przetwarzanie z ciągu znaków na liczbę całkowitą odbywa się w czasie kompilacji, a nie w czasie wykonywania.


0

Metoda FromName zadziałała dla mnie

System.Drawing.Color.FromName("#FF00FF");
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.