简体   繁体   English

将 System.Windows.Media.Color 转换为 System.Drawing.Color

[英]Converting System.Windows.Media.Color to System.Drawing.Color

private void DialogFont_Load(object sender, EventArgs e)
{
    LoadInstalledFonts();
    SetupInitialDialogSelections();
    lblPreview.ForeColor = colorPicker1.colorPickerControlView1.CurrentColor.Color;
}

I'd like to convert the value to a System.Drawing.Color.我想将该值转换为 System.Drawing.Color。

Any ideas?有什么想法吗?

System.Windows.Media.Color mediacolor; // your color

var drawingcolor = System.Drawing.Color.FromArgb(
    mediacolor.A, mediacolor.R, mediacolor.G, mediacolor.B);

Just for reference... I use this:仅供参考......我用这个:

using System.Runtime.CompilerServices;
using System.Windows.Media;

namespace HQ.Wpf.Util
{
    public static class ColorExtension
    {
        /// <summary>
        /// Convert Media Color (WPF) to Drawing Color (WinForm)
        /// </summary>
        /// <param name="mediaColor"></param>
        /// <returns></returns>
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static System.Drawing.Color ToDrawingColor(this System.Windows.Media.Color mediaColor)
        {
            return System.Drawing.Color.FromArgb(mediaColor.A, mediaColor.R, mediaColor.G, mediaColor.B);
        }

        /// <summary>
        /// Convert Drawing Color (WPF) to Media Color (WinForm)
        /// </summary>
        /// <param name="drawingColor"></param>
        /// <returns></returns>
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static System.Windows.Media.Color ToMediaColor(this System.Drawing.Color drawingColor)
        {
            return System.Windows.Media.Color.FromArgb(drawingColor.A, drawingColor.R, drawingColor.G, drawingColor.B);
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM