C# 字符串颜色名称到字符串颜色十六进制值(C)#
我正在尝试获取作为字符串传递的颜色的十六进制值。比如说,C# 字符串颜色名称到字符串颜色十六进制值(C)#,c#,colors,C#,Colors,我正在尝试获取作为字符串传递的颜色的十六进制值。比如说, private string HexColor(string colorName) // like "Red" { // returns hex value like "12345" } 我得到了将Windows.UI.Color转换为十六进制值的链接。但对于字符串颜色名称,不能使用十六进制值。 提前感谢你的帮助 更新:对于metro应用程序,使用预定义颜色的指定名称创建颜色结构,然后: ToString(“X8”)将十六进制值创建
private string HexColor(string colorName) // like "Red"
{
// returns hex value like "12345"
}
我得到了将Windows.UI.Color转换为十六进制值的链接。但对于字符串颜色名称,不能使用十六进制值。
提前感谢你的帮助
更新:对于metro应用程序,使用预定义颜色的指定名称创建颜色结构,然后:
ToString(“X8”)
将十六进制值创建为整数类型的字符串。您可以使用此函数
Color c = Color.Red;
string hex = c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
private string ConvertColorStringToHex(string colorString){
return Color.FromName(colorString).ToArgb().ToString("X8").Substring(2,6);
}
Metro、WPF或Winforms?我认为您需要:
private string ConvertColorStringToHex(string colorString){
return Color.FromName(colorString).ToArgb().ToString("X8").Substring(2,6);
}