我看不到如何将颜色仅从黑色变为白色。灰度。
我的例子。我的值从 0 到 100。
他们的表示是这样的:
0 - 黑色
100 - 白色
我正在绘制 JComponent,每当我必须更改颜色时,我都必须调用
g.setColor(Color);
但是如何告诉它只将颜色从黑色变为白色,这取决于我的数字(数字越大,颜色越白)?如何操作 RGB?
Color API 具有 HSB 值,您可能会发现这些值更易于使用。
您还可以使用HSL 颜色。当您从黑色或白色开始时,请查看“亮度”选项卡。
当然,从黑色到白色本身没有颜色变化,除了逐渐变浅的灰色阴影。
因此,只需使用相等的 RGB 值,将 0 - 100 视为 255 的百分比。
例如,50% 是 128,128,128 的 RGB(尽管取决于四舍五入,您可能会得到 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);
是白色和黑色的平等混合。