这段代码与颜色有什么关系呢?

时间:2013-11-25 17:15:12

标签: java colors

我正在寻找渲染spritesheets,这个家伙给了一个教程,其中spite表使用4种颜色:黑色,深灰色,浅灰色和白色。

然后通过方法对应于不同的颜色。例如。黑色是绿色,白色是红色等。

我想使用5种颜色而不是4种颜色,但我想理解这一点,但没有解释。

守则:

public class Colours {
public static int get(int colour1, int colour2, int colour3, int colour4, int colour5)  {
    return (get(colour4) << 24) + (get(colour3) << 16) + (get(colour2) << 8) + (get(colour1));
}

private static int get(int colour)  {
    if(colour < 0)
        return 255;
    int r = colour / 100 % 10;
    int g = colour / 10 % 10;
    int b = colour % 10;
    return r * 36 + g * 6 + b;
}

static {
    Colours.get(555, 543, 542, 123);
}
}

所以,如果有人可以解释这个,以及如何添加第五种颜色,那将是非常棒的。

1 个答案:

答案 0 :(得分:0)

它看起来像是在基数10中采用RGB方案,并将其转换为基数6

所以,如果您的颜色如下

base 10 amount: 154
R G B
1 5 4

它会将其转换为此

base 10 amount: 48
R G B
1 5 4 (in base 6)