System.Windows.Media.Color到Java int

时间:2014-10-20 21:09:19

标签: java c# colors

我需要一些方法将System.Windows.Media.Color转换为Java int,其格式如下:C#中的0x00RRGGBB。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

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

他们所有的类型"字节" (值0-255)。

您可以使用一些简单的按位操作将所有这四个属性混合成一个无符号的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;
}