Convert System.Windows.Media.Brush to System.Drawing.Brush

stormist picture stormist · Jun 25, 2009 · Viewed 23.3k times · Source

How can I convert a System.Windows.Media.Brush to System.Drawing.Brush?

I'm trying to get the color of a system.windows.media.brush formatted to a System.Drawing.Color object.

The below solution doesn't work because it requires a solidcolorbrush object, whereas the object i need converting from is a system.windows.media.brush object:

public System.Drawing.Color GetColor( System.Windows.Media.SolidColorBrush oBrush )
{
   return System.Drawing.Color.FromArgb( oBrush.Color.A,
                                     oBrush.Color.R,
                                     oBrush.Color.G,
                                     oBrush.Color.B );
}

Answer

stevosaurus picture stevosaurus · Jun 25, 2009

I believe you can just cast it as a SolidColorBrush to get the color.

Try something like:

MyColor = ((SolidColorBrush)MyMediaBrush).Color;