如何在Java中表示D3DCOLOR(32位ARGB)?

时间:2013-07-02 08:44:40

标签: java graphics directx xml-rpc

我需要用Java代表一个DirectX D3DCOLOR(这是一个32位的ARGB)。

我不需要对它执行任何操作,除了通过字符串编码将其通过XML-RPC传输到DirectX应用程序。它很可能以类似的方式进入我的Java系统,即作为编码字符串。

什么字符串形式被视为“规范”,或者更确切地说,哪个字符串表示形式对我的DirectX客户端来说最友好的解析?

因此,我应该在Java中使用什么类型来捕获D3DCOLOR?显而易见的答案是:

  • 将其保留为java.lang.String,并且无需验证
  • 换取java.lang.Long并实施一些toString()方法

两者似乎都不完全令人满意,但我认为这取决于客户希望如何序列化它。

1 个答案:

答案 0 :(得分:0)

考虑到ARGB通道仅限于一个字节,它们通常存储为byte[]或一些等效大小的结构。一个明显的等价物是4字节的int / uint。当您考虑D3DXCOLOR can be constructed from a DWORD时,这非常有用。

编辑:虽然Java不支持unsigned,但这并不重要,因为C ++演员会把它转回来。