开发者

In C# , How can i create a System.Drawing.Color object using a hex value? [duplicate]

This question already has answers here: 开发者_JAVA技巧 How to create a System.Drawing.Color from its hexadecimal RGB string? (6 answers) Closed 8 years ago.

In C# , How can i create a System.Drawing.Color object using a value like this #FFFFF,#FGFG01 etc...


string hexValue = "#000000"; // You do need the hash
Color colour = System.Drawing.ColorTranslator.FromHtml(hexValue); // Yippee

Edit: You do actually need the hash, or the alpha value won't be taken into account. Woops!


var my col = Color.FromArgb(int x);

note you need to specify an alpha value as well (probably you want FF for this, i.e. fully opaque, so add 0xFF000000 to the colour hex value)


Can you change the values to start with FF? E.g. FFFFFFFF = white. This is to add the alpha value to the beginning.

If so, just parse the value with System.Drawing.Color.FromArgb. It takes an int where the first 8 bits are the alpha value. 255 is opaque.

To convert your string into an int, use Int32.Parse. E.g.

String HexColourValue = "FABFAB";
System.Drawing.Color colour = System.Drawing.Color.FromArgb(Int32.Parse("FF"+HexColourValue,
                              System.Globalization.NumberStyles.HexNumber));

Make sure that HexColourValue doesn't have '#' in it.


Color.FromArgb(Convert.ToInt32( str.Substring(1), 16 ));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜