sRGB到RGB颜色转换

时间:2018-04-05 16:07:01

标签: java

我有一个存储在由Color.getRGB()方法生成的文件中的sRGB编号,如下所示:

//example for RED color
int num = Color.RED.getRGB(); // num is -65536 for RED
// save num to a file.

现在我必须从该文件中读取值,并且必须将每个数字转换为[x,y,z] RGB格式。从-65536开始,我需要[255,51,51]

有谁能告诉我如何在java中做到这一点?

3 个答案:

答案 0 :(得分:2)

这是

int num = Color.RED.getRGB();
int blue =  num & 255;
int green = (num >> 8) & 255;
int red =   (num >> 16) & 255;
System.out.println("R:"+red+"\n"+"G:"+green+"\n"+"B:"+blue);

答案 1 :(得分:0)

Color color = new Color(-65536);
int r = color.getRed();
int g = color.getGreen();
int b = color.getBlue();

System.out.println(String.format("%d %d %d", r, g, b));  // 255 0 0

答案 2 :(得分:0)

正如documentation中提到的,Color类中有一个方法可以获得此

getRed()
getGreen()
getBleu()