【问题标题】:Convert System.Drawing.Color to System.Windows.Media.Color [duplicate]将 System.Drawing.Color 转换为 System.Windows.Media.Color [重复]
【发布时间】:2011-05-05 12:44:09
【问题描述】:
System.Drawing.Color drawRedColor = System.Drawing.Color.Red;
System.Windows.Media.Color mediaColor = ?drawRedColor.ToMediaColor();?

【问题讨论】:

  • @serhio - 以后请用文字陈述您的问题。
  • 只有一些人会看到这个而看不到问题(因此可能会投票关闭作为“不是一个真正的问题”)。不要忘记,我们也希望这些问题能够被 google 找到,并且提出一个实际问题将有助于在搜索结果中获得这个问题。
  • @Oded:我没有在这里找到要评论的东西。
  • @Oded:你认为这不是问题吗?
  • 你看到票数接近了吗?

标签: .net system.drawing system.windows.media


【解决方案1】:

怎么样:

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);
}

编辑:修复了 ARGB 的“解包”。

【讨论】:

  • 方法'FromArgb'没有重载需要1个参数
  • @serhio:你是对的,对不起。现在怎么样?
  • @Ani:在这里看不到“使用”的真正需要 :)
  • @serhio:我同意。主要是为了防止出现水平滚动条。 :)
  • @Ani 将您的代码行一分为二;)但我明白,没关系 :)
【解决方案2】:
System.Windows.Media.Color mediaColor = System.Windows.Media.Color.FromRgb(Color.Red.R, Color.Red.G, Color.Red.B);

【讨论】:

  • 不正确的方法,我不需要转换 Red 颜色,而是一个颜色变量:)
  • hmmm...也许你应该推断答案,因为我推断“问题”:)
猜你喜欢
  • 2011-06-04
  • 2011-06-07
  • 2016-11-23
  • 1970-01-01
  • 2011-01-26
  • 2012-08-22
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多