Я не вижу, как изменить цвет только с черного на белый. Grayscale. * * 1001
Мой пример. У меня есть значения, которые идут от 0 до 100.
Их представление таково:
0 - черный
100 - Белый
Я рисую JComponent, и всякий раз, когда мне нужно изменить цвет, мне приходится звонить
g.setColor(Color);
Но как заставить его менять цвет только с черного на белый, в зависимости от моего числа (чем больше число, тем светлее цвет)? Как манипулировать над RGB?
Color API имеет значения HSB, которые могут оказаться более простыми в использовании.
Вы также можете использовать HSL Colors .Проверьте вкладку «яркость», когда вы начинаете с черного или белого цвета.
Нет, конечно, никакого изменения цвета с черного на белый, как такового, за исключением постепенно более светлых оттенков серого.
Итак, просто используйте равные значения RGB, рассматривая 0 - 100 в процентахиз 255.
Например, 50% составляет RGB 128 128 128 (хотя в зависимости от округления вы можете получить 127 127 127).
Выражение для перехода от значения в процентах к 0-255::
rgb=(pct*255)/100;
Пока значения равны в rgb, у вас есть серый.
так
g.setColor(new Color(0, 0, 0);
белый.
g.setColor(new Color(255,255,255);
черный
g.setColor(new Color(128,128,128);
- это равное сочетание белого и черного.