如何将十六进制#FFFFFF转换为System.Drawing.Color

use*_*040 92 c# asp.net

可能重复:
如何使用.NET从Hex颜色代码中获取颜色?

我想一个字符串转换喜欢#FFFFFFSystem.Drawing.Color.你是怎样做的?

var*_*arg 216

string hex = "#FFFFFF";
Color _color = System.Drawing.ColorTranslator.FromHtml(hex);
Run Code Online (Sandbox Code Playgroud)

注意:哈希很重要!

  • 在UWP中,没有System.Drawing命名空间? (3认同)
  • @AdrianK使用codeteq的答案.它适用于NetStandard 2.0 (2认同)

Sid*_*med 22

你可以做

var color =  System.Drawing.ColorTranslator.FromHtml("#FFFFFF");
Run Code Online (Sandbox Code Playgroud)

或者这个(你需要System.Windows.Media命名空间)

var color = (Color)ColorConverter.ConvertFromString("#FFFFFF");
Run Code Online (Sandbox Code Playgroud)


cod*_*teq 5

删除“#”并执行

Color c = Color.FromArgb(int.Parse("#FFFFFF".Replace("#",""),
                         System.Globalization.NumberStyles.AllowHexSpecifier));
Run Code Online (Sandbox Code Playgroud)

  • 其他解决方案也将字符串转换为数字值,它们只是在内部进行。如果这是一个优化问题,则需要进行性能测试,以查看带有Int.Parse()的Color.FromArgb()与ColorConvertor.ConvertFromString()和ColorTranslator.FromHtml()的比较。 。 (2认同)