这可能很容易,但是我正在尝试从提供RGB字符串颜色的源转换为Java中BGR字符串输出的源。我一直在动脑子,浪费时间在转移和Long.decode和Long.toHexString上。

也可以在其中随意输入alpha值(RGBA-> ABGR),尽管我认为我可以扩展原理。

我可以假定十六进制是在long和int decode中指定的形式:

0x HexDigits
0X HexDigits
# HexDigits

最佳答案

对于24位颜色(R,G,B分别为8位):

String rgbSource = getRGBSource(); //your function to get a string version of it
int in = Integer.decode(rgbSource);
int red = (in >> 16) & 0xFF;
int green = (in >> 8) & 0xFF;
int blue = (in >> 0) & 0xFF;
int out = (blue << 16) | (green << 8) | (red << 0);

09-10 03:37
查看更多