18

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

1
  • Be aware if you are getting the hex value from the querystring, the hash will be URL encoded as %23. Commented Jan 18, 2013 at 6:37

4 Answers 4

32
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!

Sign up to request clarification or add additional context in comments.

3 Comments

A good answer + bonus points for "Yippee"
Had to change my if (color == Black) comparison as they're two different objects, so the condition would never have been true. Kept the yippee comment in - just for you!
Yes. HASH is needed. Otherwise it will throw an error
3

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)

1 Comment

+1 He can use Int32.Parse to turn a hex string into an int, just drop the #.
1

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.

Comments

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

2 Comments

won't this give an aplha value of 0 which is transparent?
Yes, it does, if alpha is supported. You would have to use #FF123456 if you want nontransparent colors or add 0xff000000 to the conversion result.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.