【问题标题】:System.Windows.Media.Color to Java int [closed]System.Windows.Media.Color 到 Java int [关闭]
【发布时间】:2014-10-20 21:09:18
【问题描述】:

我需要某种方法将 System.Windows.Media.Color 转换为具有以下格式的 Java int:C# 中的0x00RRGGBB。有任何想法吗?谢谢!

【问题讨论】:

  • 去吧。我不清楚你的问题是什么......你在实施你的想法时遇到问题吗?这些问题是什么?
  • Java 给你new Color(r, g, b, a).getRGB();

标签: java c# colors


【解决方案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;
}

【讨论】:

  • 谢谢,这正是我所需要的,如果问题没有明确定义,请道歉。
  • 没问题。不知道为什么你的问题被标记为离题或其他什么。这对我来说似乎很清楚。哦,好吧。
猜你喜欢
  • 2011-07-22
  • 2011-11-10
  • 1970-01-01
  • 2014-03-21
  • 2021-12-11
  • 1970-01-01
  • 2014-11-17
  • 1970-01-01
  • 2013-11-26
相关资源
最近更新 更多