color.getRGB得到是负数,解决方案

来源:互联网 发布:找工作的软件 编辑:程序博客网 时间:2024/04/30 01:14

情景:ava.awt.color 下面的getRGB怎么得出的是负数???本来想通过getRGB得到一个整数,在另外的一个部分在根据这个整数构件一个color,因为参数规定只能能传整数!!!color通过什么方法得到一整数????

 

解决方案:getRGB()返回默认 sRGB ColorModel 中表示颜色的 RGB 值。(24-31 位表示 alpha,16-23 位表示红色,8-15 位表示绿色,0-7 位表示蓝色)。

要得到具体R,G,B颜色分量得做个位移
// Color color
int rgb = color.getRGB();
int r = (rgb & 16711680) >> 16;
int g = (rgb & 65280) >> 8;
int b = (rgb & 255);

也可以直接使用Color的getRed(),getGreen(),getBlue()方法得到r,g,b.

 

原创粉丝点击