Ale*_*lex 4 java rgb decimal colors
我有一个十进制(非十六进制)颜色代码,使用Java,我需要将其转换为三种RGB颜色.
例如,16777215(纯白色)需要转换为红色:255绿色:255蓝色:
255.65280(纯绿色)需要转换为红色:0绿色255:蓝色:0 
这是一个转换器以获取更多示例.
我可以告诉它显然与字节有关,但我遗漏了最后一点.对于bits/bytes/etc的整个概念以及它如何与Java交互,我不是最好的,所以它可能相当简单.
那么,有谁知道最好的方法呢?使用java将单个数字十进制颜色转换为三个单独的RGB值的最佳方法是什么?
Ste*_*ppo 15
你说得对的地方:RGB值被编码为a中的字节int.R是字节2,G是字节1,B是字节0,总计为24位颜色深度.根据字节顺序,这可能是一种可能的表示.
00000000 00000000 00000000 00000000  <-- 32bit int
         ^             ^      ^
         |             |      |
         +--red here   |      +--green here
              8bit     |            8bit
                       |
                       +--blue here
                             8bit
您可以通过一些位移和屏蔽来提取RGB值:
int red = (color >> 16) & 0xff;
int green = (color >> 8) & 0xff;
int blue = color & 0xff;
你可以做到
Color color = new Color(16777215);
int red = color.getRed();
int green = color.getGreen();
int blue = color.getBlue();