In C# , How can i create a System.Drawing.Color object using a hex value? [duplicate]
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 ));
精彩评论