2011-04-01 130 views
2

我已經使用System.Windows.Media.Color創建了一個變量。我可以使用ToString()顯示這個變量的十六進制值。然而,這也給了我的alpha值。無論如何只能得到RGB值?如果我嘗試使用Color.R.ToString();它只給了我數值。將ARGB轉換爲WPF中的RGB

我必須手動將其更改爲十六進制還是有內置的方法呢?

回答

5

從我從您的問題中收集的內容中,您想將其轉換爲十六進制格式的顏色。你可以只單獨將每個顏色的成員,而忽略了阿爾法:

string color_str = string.Format("#{0:X2}{1:X2}{2:X2}", Color.R, Color.G, Color.B); 
+0

我來找的代碼片段返回「#2X2X2X」,同時通過Color.Red – AbrahamJP 2011-04-01 06:33:47

+0

@AbrahamJP:哎呀,這就是我得到的不是測試我的代碼。這是X2,而不是2X。我修好了它。 – yuriks 2011-04-01 10:54:54

2

我才找到「ColorTranslator」也做在一個更簡潔的方式對顏色轉換十六進制。

Color C = Color.Red; 
string HexVal = ColorTranslator.ToHtml(Color.FromArgb(C.R, C.G, C.B)));