c# - hexadecimal - Cómo convertir de System.Drawing.Color a System.Windows.Media.Color?
custom color c# (3)
... o use la respuesta de @Rion Williams 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));
}
¿Cómo puedo convertir entre estos dos tipos de colores?
Para uso frecuente sugiero ayudante como este:
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);
}
}
Puede ver ejemplos de las dos direcciones de conversión a continuación:
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);