如何測試System.Drawing.Color
和System.Windows.Media.Color
是否描述相同的顏色?如何比較System.Drawing.Color和System.Windows.Media.Color?
我試圖
colour1 == colour2
,但我得到一個錯誤
操作 '==' 不能應用於類型 '的System.Drawing.Color' 和「System.Windows.Media的操作數顏色
如何測試System.Drawing.Color
和System.Windows.Media.Color
是否描述相同的顏色?如何比較System.Drawing.Color和System.Windows.Media.Color?
我試圖
colour1 == colour2
,但我得到一個錯誤
操作 '==' 不能應用於類型 '的System.Drawing.Color' 和「System.Windows.Media的操作數顏色
你有2種選擇:
轉換從一種類型到另,其上覆蓋here,然後使用「==」操作。
比較各個組件。由於兩者具有R,G,B,A屬性字節,你可以簡單地做:
bool ColorsEqual (System.Drawing.Color c1, System.Windows.Media.Color c2)
{
return c1.R == c2.R && c1.G == c2.G
&& c1.B == c2.B && c1.A == c2.A;
}
可以提出延期方法要轉換爲系統中的System.Drawing.Color .Windows.Media.Color然後在System.Windows.Media.Color類型上比較:
public static System.Windows.Media.Color ToMediaColor(this System.Drawing.Color color)
{
return System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B);
}
兩種不同類型的對象。 – Derek 2013-02-25 10:33:03
嗨阿妮。你建議的問題是重複的是胡說 - 它甚至不包含任何單詞! – 2013-02-25 10:34:12
@ColonelPanic,使用建議的副本作爲參考,這很容易解決。看起來你已經付出了自己的努力。 – 2013-02-25 10:44:32