我想创建一个System.Drawing.Color
从像一个值#FF00FF
或FF00FF
无需为编写代码。是否有.NET内置解析器?
我想创建一个System.Drawing.Color
从像一个值#FF00FF
或FF00FF
无需为编写代码。是否有.NET内置解析器?
Answers:
ColorTranslator.FromHtml("#FF00FF");
当您使用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(“ Blue”)
有关标准.NET类型转换机制的讨论,请参见此处。