2009-06-25 20 views
5

System.Windows.Media.Brush dosyasını System.Drawing.Brush'a nasıl dönüştürebilirim?System.Windows.Media.Brush dosyasını System.Drawing.Brush dosyasına dönüştürür.

Bir System.Drawing.Color nesnesine biçimlendirilmiş bir system.windows.media.brush rengini almaya çalışıyorum.

bir SolidColorBrush objesi gerektirdiğinden i dönüştürme ihtiyacı nesne system.windows.media.brush nesne ise aşağıdaki çözüm çalışmaz: Ben sadece bunu döküm inanıyoruz

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

cevap

13

Rengi almak için SolidColorBrush olarak. Dökme daha açıklayıcı geçersiz döküm istisna yerine kafa karıştırıcı null başvuru özel alırsınız başarısız olursa Gerçekten aksi doğrudan döküm yapmalıdır

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

: gibi

deneyin şey. –

+0

Teşekkürler Nathan, iki yöntemin sadece sözdiziminde farklı olduğu varsayımı altındaydım. Bu bilmek harika. – stevosaurus

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); 
İlgili konular