2012-10-12 128 views
0

我想获取作为字符串传递的颜色的十六进制值。例如,字符串颜色名称字符串颜色C#中的十六进制值

private string HexColor(string colorName) // like "Red" 
{ 

// returns hex value like "12345" 
} 

我得到了将Windows.UI.Color转换为其十六进制值的链接。但不适用于以颜色十六进制值表示的字符串颜色名称。 在此先感谢您的帮助。

更新:对于metro应用

+0

地铁,WPF,或的WinForms? – SLaks

+0

尝试地铁应用程序 – Maniarasu

+0

我认为你需要这个:http://stackoverflow.com/questions/8336375/how-to-convert-color-name-to-the-corresponding-hexadecimal-representation –

回答

2

Color.fromName从预定义的颜色的指定名称创建一个Color结构,然后ToArgb

Color.FromName(colorString).ToArgb().ToString("X8").Substring(2,6); 

ToString("X8")创建的十六进制值作为从整型字符串。

+0

感谢您的回答蒂姆。但我正在尝试在Metro应用程序中 – Maniarasu

0
Color c = Color.Red; 
string hex = c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2"); 
0

您可以使用此功能

private string ConvertColorStringToHex(string colorString){ 
return Color.FromName(colorString).ToArgb().ToString("X8").Substring(2,6); 
} 
相关问题