Как создать систему.Рисунок.Цвет из его шестнадцатеричной строки RGB?
Я хочу создать System.Drawing.Color
от значение #FF00FF
или FF00FF
без необходимости писать код для этого. Есть какие-либо .Чистая встроенный парсер для этого?
6 ответов:
вы можете использовать систему.Рисунок.Статический метод ColorTranslator от FromHtml.
использование:
System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
Это довольно легко, когда вы используете Convert-Class. Элемент
ToInt32
функция имеет перегрузку со вторым параметром, который представляет базу, в которой находится строка.using System.Drawing Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));
использовать ColorConverter класс:
var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) ); color = converter.ConvertFromString( "#FF00FF" );
Это также может конвертировать из стандартных именованных цветов, например ConvertFromString ("синий")
посмотреть здесь для обсуждения стандартных механизмов преобразования типов .NET.