【发布时间】:2010-12-18 06:03:14
【问题描述】:
在 C# 中,如何使用 #FFFFF、#FGFG01 等值创建 System.Drawing.Color 对象...
【问题讨论】:
-
请注意,如果您从查询字符串中获取十六进制值,则哈希将被 URL 编码为 %23。
标签: c# .net colors system.drawing.color
在 C# 中,如何使用 #FFFFF、#FGFG01 等值创建 System.Drawing.Color 对象...
【问题讨论】:
标签: c# .net colors system.drawing.color
string hexValue = "#000000"; // You do need the hash
Color colour = System.Drawing.ColorTranslator.FromHtml(hexValue); // Yippee
编辑:您确实需要哈希,否则不会考虑 alpha 值。哎呀!
【讨论】:
var my col = Color.FromArgb(int x);
请注意,您还需要指定一个 alpha 值(可能您需要 FF,即完全不透明,因此将 0xFF000000 添加到颜色十六进制值)
【讨论】:
您可以将值更改为以 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 中没有“#”。
【讨论】:
Color.FromArgb(Convert.ToInt32( str.Substring(1), 16 ));
【讨论】: