Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中,如何使用十六进制值创建System.Drawing.Color对象?_C#_.net_Colors_System.drawing.color - Fatal编程技术网

在C#中,如何使用十六进制值创建System.Drawing.Color对象?

在C#中,如何使用十六进制值创建System.Drawing.Color对象?,c#,.net,colors,system.drawing.color,C#,.net,Colors,System.drawing.color,在C#中,如何使用#FFFFF、#FGFG01等值创建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) 注:您还需要指定一个

在C#中,如何使用#FFFFF、#FGFG01等值创建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开头吗?例如,FFFFFF=白色。这是将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));

请确保
hexcolorValue
中没有“#”。

+1他可以使用Int32.Parse将十六进制字符串转换为int,只需删除“#”。一个好的答案+对“Yippee”的奖励点必须更改我的if(color==Black)比较,因为它们是两个不同的对象,所以条件永远不会为真。保留Yippe评论-只为你!对需要散列。否则它将抛出一个错误。这不会给出一个透明的aplha值0吗?是的,如果支持alpha,它会。如果要使用非透明颜色或向转换结果中添加0xff000000,则必须使用#FF123456。请注意,如果从查询字符串中获取十六进制值,则哈希将被URL编码为%23。
String HexColourValue = "FABFAB";
System.Drawing.Color colour = System.Drawing.Color.FromArgb(Int32.Parse("FF"+HexColourValue,
                              System.Globalization.NumberStyles.HexNumber));