2

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

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

他们的表示是这样的:

0 - 黑色

100 - 白色

我正在绘制 JComponent,每当我必须更改颜色时,我都必须调用

g.setColor(Color);

但是如何告诉它只将颜色从黑色变为白色,这取决于我的数字(数字越大,颜色越白)?如何操作 RGB?

4

3 回答 3

4

Color API 具有 HSB 值,您可能会发现这些值更易于使用。

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

于 2010-11-08T18:55:35.563 回答
3

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

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

例如,50% 是 128,128,128 的 RGB(尽管取决于四舍五入,您可能会得到 127,127,127)。

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

rgb=(pct*255)/100;
于 2010-11-08T18:50:32.670 回答
-2

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

所以

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

是白色的。

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

是黑色的

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

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

于 2010-11-08T19:00:04.903 回答