2014-10-20 127 views
-1

我需要一些方法來將System.Windows.Media.Color轉換爲具有以下格式的Java int:0x00RRGGBB在C#中。有任何想法嗎?謝謝!System.Windows.Media.Color to Java int

+1

去吧。我不清楚你的問題是什麼,但你是否遇到了實現你的想法的問題?那些問題是什麼? – Krease 2014-10-20 21:13:24

+0

Java爲您提供'新顏色(r,g,b,a).getRGB();' – 2014-10-20 21:14:52

回答

1

System.Windows.Media.Color具有Alpha,Red,Green和Blue的屬性。

它們都是「字節」類型(值爲0-255)。

可以使用一些簡單的逐位操作醪這些屬性的所有4個到單個無符號32位整數:

public uint ConvertColorToUInt(Color color) 
{ 
    uint value = (color.A << 24) | (color.R << 16) | (color.G << 8) | color.B; 
    return value; 
} 

,或者如果它必須是一個字符串:

public string ConvertColorToJavaString(Color color) 
{ 
    uint value = (color.A << 24) | (color.R << 16) | (color.G << 8) | color.B; 
    var javaString = string.Format("0x{0}", value.ToString("X2")) 
    return javaString; 
} 
+1

謝謝,這正是我所需要的,如果問題沒有明確定義,我們深表歉意。 – RajenK 2014-10-21 17:51:52

+0

沒問題。不知道爲什麼你的問題被標記爲題外話或其他什麼。這對我來說似乎很清楚。好吧。 – peaceoutside 2014-10-21 19:03:06