我正在研究此post
上一个答案的示例代码了解如何制作一个好的闪烁按钮。该示例代码使用以下代码指定颜色:
for (int i = 0; i < N; i++)
{
clut.add(Color.getHSBColor(1, 1 - (i / N), 1));
}
for (int i = 0; i < N; i++)
{
clut.add(Color.getHSBColor(1, i / N, 1));
}
Color.getHSBColor(1,1 - (i / N),1)是构建颜色的地方。 getHSBColor()的第一个参数(Hue)将指定基色。因此,如果我将其更改为 230 ,则颜色应为蓝色基础颜色;如果 60 ,则颜色应为黄色。但示例程序不能像我预期的那样工作。将Hue设置为不同值后,没有闪烁的颜色变化。谁知道为什么?
答案 0 :(得分:1)
Color.getHSBColor()
应该从0到1接收浮点数,因此任何大于1的值都将被视为1 ......
看看:
hue参数是介于0.0和1.0之间的十进制数,表示颜色的色调。您将不得不尝试使用色调编号来找出它所代表的颜色。
例如,setPenColor(Color.getHSBColor(0.56f,1.0f,0.8f));
来源:http://www.otherwise.com/Lessons/ColorsInJava.html
例如,你可以这样做:
float hue = your_color/255; // if you want to use 0-255 range
for (int i = 0; i < N; i++) {
clut.add(Color.getHSBColor(hue, 1 - (i / N), 1));
}
for (int i = 0; i < N; i++) {
clut.add(Color.getHSBColor(hue, i / N, 1));
}