Java摇摆。如何将颜色强度从黑色变为白色?

时间:2010-11-08 18:47:20

标签: java swing colors rgb grayscale

我没有看到如何仅将颜色从黑色变为白色。灰度。

我的例子。我的值从0到100。

他们的代表是这样的:

0 - 黑色

100 - 白色

我正在绘制JComponent,每当我需要改变颜色时,我必须调用

g.setColor(Color);

但如何告诉它只根据我的数字改变颜色从黑色到白色(数字越大,颜色越白)? 如何操纵RGB?

3 个答案:

答案 0 :(得分:4)

Color API具有您可能更容易使用的HSB值。

您也可以使用HSL Colors。当您以黑色或白色开始时,请查看“亮度”选项卡。

答案 1 :(得分:3)

当然,除了逐渐变浅的灰色阴影之外,从黑色到白色本身没有颜色变化。

因此,只需使用相等的RGB值,将0 - 100视为255的百分比。

例如,50%是RGB的128,128,128(虽然取决于四舍五入,你可能会达到127,127,127)。

从百分比值到0-255的表达式为:

rgb=(pct*255)/100;

答案 2 :(得分:-1)

只要rgb中的值相等,就会有灰色。

所以

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

是白色的。

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

是黑色

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

是白色和黑色的平等混合。