I want to create SolidColorBrush from Hex value such as #ffaacc. How can I do this?
On MSDN, I got :
SolidColorBrush mySolidColorBrush = new SolidColorBrush(); mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255);
So I wrote (considering my method receives color as #ffaacc
):
Color.FromRgb( Convert.ToInt32(color.Substring(1, 2), 16), Convert.ToInt32(color.Substring(3, 2), 16), Convert.ToInt32(color.Substring(5, 2), 16));
But this gave error as
The best overloaded method match for 'System.Windows.Media.Color.FromRgb(byte, byte, byte)' has some invalid arguments
Also 3 errors as: Cannot convert int to byte.
But then how MSDN example works?
A hex color code is a 6-symbol code made of up to three 2-symbol elements. Each of the 2-symbol elements expresses a color value from 0 to 255. The code is written using a formula that turns each value into a unique 2-digit alphanumeric code. For example, the RGB code (224, 105, 16) is E06910 in hexadecimal code.
Try this instead:
(SolidColorBrush)new BrushConverter().ConvertFrom("#ffaacc");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With