RGB

java.awt.Color有三种构造函数:
public Color(int r, int g, int b);
public Color(int rgb);
public Color(float r, float g, float b);想问一下第二种中的rgb怎样和r,g,b分开设置时对应。

解决方案 »

  1.   

    api里说了
    Color
    public Color(int rgb)创建具有指定组合的 RGB 值的不透明的 sRGB 颜色,此 sRGB 值的 16-23 位表示红色分量,8-15 位表示绿色分量,0-7 位表示蓝色分量。绘制时实际使用的颜色取决于从给出的可用于特定输出设备的颜色空间中找到的最匹配颜色。alpha 值的默认值为 255。 参数:
    rgb - 组合的 RGB 分量
    也就是说#FF FF FF FF
    分别是 没用 R G B
      

  2.   

    一个int类型的数据共有32位R占据这32位的16-23位,G占据8-15位,B占据0-7位,24-32位是alpha (透明度)举一个简单的例子
    int a = 1246789;
    a 转换成2进制后是00000000000100110000011001000101共32位
    那么
    R=00010011,即11
    G=00000110,即6
    B=01000101,即69
    也就相当于#0B0645
      

  3.   

    没用是指在这个构造方法中没用,无论是多少都按FF(256不透明)处理,在两个参数(第二个是boolean)中才处理透明度,