0

我有一个带有双值的 ArrayList,这些值我写到表中。我想根据其双值对每一行着色(一种颜色 - 例如绿色或红色),较高的值将具有较深的阴影,反之亦然。也许我可以改变亮度 - 这是正确的方法吗?

4

2 回答 2

1

您可以创建一个基于双精度值创建颜色的函数。像这样的东西:

Color getColor(double val, double min, double max) {
  int red = 100;
  int green = 100;
  int blue = val/(max-min) * 256;

  return new Color (red, green, blue);
}

您可以通过将蓝色计算移动到其他颜色来更改基色。或者完全做一个不同的方程。这个想法保持不变。

于 2013-03-13T06:38:39.307 回答
-1

好吧,这不是“错误”的说法。这有点奇怪。就个人而言,如果您尝试表示颜色并且不想使用 Color 类,我会使用 int 而不是 double。一个 int 有 32 位,红色、绿色、蓝色和 alpha 各 8 位。我不确定您如何将双精度转换为颜色。

于 2013-03-13T06:35:21.200 回答