Я хочу создать a System.Drawing.Color
от значения как #FF00FF
или FF00FF
не будучи должен написать код для этого. Существует какая-либо.NET встроенный синтаксический анализатор для этого?
Довольно просто использовать Преобразование класса . Функция 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.
Вы можете использовать статический метод System.Drawing.ColorTranslator FromHtml.
используйте:
System.Drawing.ColorTranslator.FromHtml("#FFFFFF");