-1

我正在尝试使用 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]
....

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

4

1 回答 1

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。

于 2017-02-25T01:19:31.413 回答