2009-06-25 72 views
5

如何將System.Windows.Media.Brush轉換爲System.Drawing.Brush?將System.Windows.Media.Brush轉換爲System.Drawing.Brush

我正在嘗試將system.windows.media.brush的顏色格式化爲System.Drawing.Color對象。

下面的解決方案不起作用,因爲它需要的SolidColorBrush對象,而我需要轉換的對象是一個system.windows.media.brush對象:

public System.Drawing.Color GetColor(System.Windows.Media.SolidColorBrush oBrush) 
{ 
    return System.Drawing.Color.FromArgb(oBrush.Color.A, 
            oBrush.Color.R, 
            oBrush.Color.G, 
            oBrush.Color.B); 
} 

回答

13

我相信你可以只投它作爲SolidColorBrush來獲取顏色。

嘗試類似:

MyColor = ((SolidColorBrush)MyMediaBrush).Color; 
+0

你真的應該做的直接投否則,如果轉換失敗,你會得到一個混亂的空引用異常,而不是一個更具描述性的無效轉換異常。 – 2009-06-26 02:56:56

0
System.Drawing.Color c1 = new System.Drawing.Color(); 
      c1 = System.Drawing.Color.FromName(Properties.Settings.Default.myColor); 
      System.Windows.Media.Color c2 = new Color(); 
      c2 = Color.FromArgb(c1.A, c1.R, c1.G, c1.B); 
相關問題