Создание объектов Java Color с использованием значений HSB

Я пытаюсь создать объект Color, используя значение HSB, но у меня возникли проблемы.

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 ответ

Решение

Из javadocs цвета #getHSBColor(плавать, плавать, плавать):

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.

Другие вопросы по тегам