In C# , How can i create a System.Drawing.Color object using a value like this #FFFFF,#FGFG01 etc...
views:
366answers:
4
                +10 
                A: 
                
                
              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!
                  GenericTypeTea
                   2009-11-19 10:31:56
                
              A good answer + bonus points for "Yippee"
                  Programming Hero
                   2009-11-19 10:39:27
                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!
                  GenericTypeTea
                   2009-11-19 10:52:58
                Yes. HASH is needed. Otherwise it will throw an error
                  Shyju
                   2009-11-19 11:50:20
                
                +1 
                A: 
                
                
              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)
                  jk
                   2009-11-19 10:32:30
                
              +1 He can use Int32.Parse to turn a hex string into an int, just drop the #.
                  Matt Ellen
                   2009-11-19 10:38:04
                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.
                  EricSchaefer
                   2009-11-19 13:33:53
                
                
                A: 
                
                
              
            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.
                  Matt Ellen
                   2009-11-19 10:48:34