在C#中,如何使用类似#FFFFF,#FGFG01等的值创建System.Drawing.Color对象...
答案 0 :(得分:32)
string hexValue = "#000000"; // You do need the hash
Color colour = System.Drawing.ColorTranslator.FromHtml(hexValue); // Yippee
编辑:您确实需要哈希,否则不会考虑Alpha值。 Woops!
答案 1 :(得分:3)
var my col = Color.FromArgb(int x);
请注意,您还需要指定一个alpha值(可能你想要FF,即完全不透明,所以将0xFF000000添加到颜色十六进制值)
答案 2 :(得分:1)
您可以将值更改为以FF开头吗?例如。 FFFFFFFF =白色。这是为了将alpha值添加到开头。
如果是这样,只需使用System.Drawing.Color.FromArgb
解析值。它需要int
,其中前8位是alpha值。 255是不透明的。
要将字符串转换为int,请使用Int32.Parse。例如。
String HexColourValue = "FABFAB";
System.Drawing.Color colour = System.Drawing.Color.FromArgb(Int32.Parse("FF"+HexColourValue,
System.Globalization.NumberStyles.HexNumber));
确保HexColourValue
中没有“#”。
答案 3 :(得分:0)
Color.FromArgb(Convert.ToInt32( str.Substring(1), 16 ));