In C# , How can i create a System.Drawing.Color object using a value like this #FFFFF,#FGFG01 etc...
In C# , How can i create a System.Drawing.Color object using a hex value?
18.1k Views Asked by Shyju At
4
There are 4 best solutions below
1

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)
0

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.
Edit: You do actually need the hash, or the alpha value won't be taken into account. Woops!