Search code examples
.netsystem.drawingsystem.windows.media

Convert System.Drawing.Color to System.Windows.Media.Color


System.Drawing.Color drawRedColor = System.Drawing.Color.Red;
System.Windows.Media.Color mediaColor = ?drawRedColor.ToMediaColor();?

Solution

  • How about:

    using MColor = System.Windows.Media.Color;
    using DColor = System.Drawing.Color;
    ...
    
    public static MColor ToMediaColor(this DColor color)
    {
       return MColor.FromArgb(color.A, color.R, color.G, color.B);
    }
    

    EDIT: Fixed the 'unpacking' of the ARGB.