如何在Java中将get.rgb(x,y)整数像素转换为Color(r,g,b,a)?

我有来自get.rgb(x,y)的整数像素,但我对如何将其转换为RGBA没有任何线索。 例如,-16726016应为Color(0,200,0,255)。 有小费吗?

如果我猜对了,你得到的是一个0xAARRGGBBforms的无符号整数,所以

 int r = (argb)&0xFF; int g = (argb>>8)&0xFF; int b = (argb>>16)&0xFF; int a = (argb>>24)&0xFF; 

会提取颜色成分。 但是,快速浏览文档说你可以做到

 Color c = new Color(argb); 

要么

 Color c = new Color(argb, true); 

如果你想要Color中的alpha组件。

UPDATE

红色和蓝色组件在原始答案中颠倒,因此正确的答案将是:

 int r = (argb>>16)&0xFF; int g = (argb>>8)&0xFF; int b = (argb>>0)&0xFF; 
  Color c = new Color(-16726016, true); System.out.println(c.getRed()); System.out.println(c.getGreen()); System.out.println(c.getBlue()); System.out.println(c.getAlpha()); 

打印出来:

 0 200 0 255 

你是这个意思吗?