2011-01-11 14 views

Respuesta

51

Se puede ver ejemplos de las dos direcciones de conversión siguiente:

Drawing.Color a Windows.Media.Color

// This is your color to convert from 
System.Drawing.Color color; 
System.Windows.Media.Color newColor = System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B); 

Windows.Media.Color a Drawing.Color

// This is your color to convert from 
System.Windows.Media.Color color; 
System.Drawing.Color newColor = System.Drawing.Color.FromArgb(color.A, color.R, color.G, color.B); 
2

... o usar @ R ion Williams respuesta como una extensión:

public static System.Windows.Media.Brush ToBrush(this System.Drawing.Color color) 
{ 
    return new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B)); 
} 
7

Para uso frecuente i sugieren helper como esto:

using SDColor = System.Drawing.Color; 
using SWMColor = System.Windows.Media.Color; 

namespace ColorHelper 
{ 
    public static class ColorExt 
    { 
     public static SWMColor ToSWMColor(this SDColor color) => SWMColor.FromArgb(color.A, color.R, color.G, color.B); 
     public static SDColor ToSDColor(this SWMColor color) => SDColor.FromArgb(color.A, color.R, color.G, color.B); 
    } 
} 
Cuestiones relacionadas