使用HSB值创建Java Color对象

时间:2017-02-25 01:12:36

标签: java awt rgb hsb

我正在尝试使用HSB值创建一个Color对象,但我遇到了一些麻烦。

for(int i = 0; i<255; i++)
{
   Color c = Color.getHSBColor(i,100,100);
   System.out.println(c);
}

我希望这会旋转所有色调,而是每种颜色都具有相同的RGB RGB值(251,251,2)

输出

java.awt.Color[r=251,g=251,b=2]
java.awt.Color[r=251,g=251,b=2]
java.awt.Color[r=251,g=251,b=2]
....

知道我做错了什么吗? 感谢

1 个答案:

答案 0 :(得分:2)

从Color#getHSBColor(float,float,float)的javadocs开始:

The <code>s</code> and <code>b</code> components should be
floating-point values between zero and one
(numbers in the range 0.0-1.0).  The <code>h</code> component
can be any floating-point number.  The floor of this number is
subtracted from it to create a fraction between 0 and 1.

换句话说,值不在0到255之间,而是在0.0到1.0之间。