如何从System.Drawing.Color转换为System.Windows.Media.Color?

41 c# colors

如何在这两种颜色类型之间进行转换?

Rio*_*ams 67

您可以在下面看到两个转换方向的示例:

Drawing.ColorWindows.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);
Run Code Online (Sandbox Code Playgroud)

Windows.Media.ColorDrawing.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);
Run Code Online (Sandbox Code Playgroud)


wat*_*rif 9

经常使用我建议这样的帮手:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)