如何从其十六进制RGB字符串创建System.Drawing.Color?


Answers:



62

您可以使用System.Drawing.ColorTranslator静态方法FromHtml。

使用:

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

18

当您使用Convert-Class时,这很容易。该ToInt32函数有一个带有第二个参数的重载,该参数表示字符串所在的基数。

using System.Drawing

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

9

使用ColorConverter类:

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

这也可以从标准命名的颜色进行转换,例如ConvertFromString(“ Blue”)

有关标准.NET类型转换机制的讨论,请参见此处


1

如果要使用的颜色是常量,请在C#中使用System.Drawing.Color.FromArgb (0xFF00FF)。这比System.Drawing.Color.FromNameor快一点System.Drawing.Color.FromHtml,因为从字符串到整数的解析是在编译时而不是在运行时完成的。


0

FromName方法对我有用

System.Drawing.Color.FromName("#FF00FF");
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.