2010-11-08 7 views
2

Я не вижу, как изменить цвет только с черного на белый. Оттенки серого.Java качели. Как изменить интенсивность цвета от черного до белого?

Мой пример. У меня есть ценности, от 0 до 100.

их представления, как это:

0 - черный

100 - белый

Я рисую JComponent и всякий раз, когда я должен изменить цвет I должны вызвать

g.setColor(Color); 

Но как сказать это, чтобы изменить цвет только от черного до белого, в зависимости от моего номера (чем больше число, цвет йота э)? Как управлять RGB?

ответ

3

Существует, конечно, отсутствие изменения цвета от черного до белого, по сути, за исключением постепенно более светлых оттенков серого.

Таким образом, просто использовать одинаковые значения RGB, обработки 0 - 100 в процентах от 255.

К примеру, 50% является RGB из 128,128,128 (хотя в зависимости от округления вы можете прийти 127,127,127).

Выражение для перехода от процентного значения до 0-255 является:

rgb=(pct*255)/100; 
+0

спасибо, все в порядке! – vale4674

4

Цвет API имеет значения HSB, которые вы можете найти проще в использовании.

Вы также можете использовать HSL Colors. Проверьте вкладку «яркость», когда вы начинаете с черного или белого цвета.

+0

Вопрос конкретно спросил: «Как манипулировать RGB?». –

+0

@pouncep: HSB & HSL - полезные альтернативы для рассмотрения. Например, в HSB, задавая h = 0, s = 0 и b = 0..255, выдает 256 равномерно распределенных граней. См. Также http://download.oracle.com/javase/tutorialJWS/uiswing/components/ex6/ColorChooserDemo.jnlp – trashgod

+1

Основной вопрос был о шкале серого. Много раз люди не знают альтернативы. Я стараюсь предлагать разные подходы, и тогда люди могут выбирать подход, который они понимают. Для многих людей «концепция» изменения яркости (в HSB) или светимость (в HSL) имеет больше смысла, чем изменение всех трех значений RGB. – camickr

-1

Пока значения равны в rgb, у вас есть серый цвет.

так

g.setColor(new Color(0, 0, 0); 

белый.

g.setColor(new Color(255,255,255); 

черный

g.setColor(new Color(128,128,128); 

равное сочетание белого и черного.

+0

-1, дубликат предложения Software Monkey. – camickr