Java 如何在HSB颜色系统中更改颜色

Java 如何在HSB颜色系统中更改颜色,java,Java,我正在研究上一个答案中的示例代码 了解如何制作一个好的闪烁按钮。该示例代码使用以下代码指定颜色: for (int i = 0; i < N; i++) { clut.add(Color.getHSBColor(1, 1 - (i / N), 1)); } for (int i

我正在研究上一个答案中的示例代码

了解如何制作一个好的闪烁按钮。该示例代码使用以下代码指定颜色:

           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));             
            } 
for(int i=0;i
颜色。getHSBColor(1,1-(i/N),1)是构建颜色的地方。getHSBColor()的第一个参数(色调)将指定基色。因此,如果我将其更改为230,则颜色应为基于蓝色的颜色;如果为60,则颜色应为黄色。但是示例程序并不像我预期的那样工作。在我将色调设置为不同的值后,没有闪烁的颜色变化。有人知道为什么吗?

Color.getHSBColor()
应该接收从0到1的浮点数,因此任何大于1的值都将被视为1

看一看:

色调参数是一个介于0.0和1.0之间的十进制数,表示颜色的色调。你必须对色调数进行实验,找出它所代表的颜色

例如,setPenColor(Color.getHSBColor(0.56f,1.0f,0.8f))

资料来源:

例如,您可以执行以下操作:

        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));             
        } 
float hue=您的颜色/255;//如果要使用0-255范围
对于(int i=0;i
Color.getHSBColor()
应接收从0到1的浮点数,因此任何大于1的值都将被视为1

看一看:

色调参数是一个介于0.0和1.0之间的十进制数,表示颜色的色调。你必须对色调数进行实验,找出它所代表的颜色

例如,setPenColor(Color.getHSBColor(0.56f,1.0f,0.8f))

资料来源:

例如,您可以执行以下操作:

        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));             
        } 
float hue=您的颜色/255;//如果要使用0-255范围
对于(int i=0;i
奇怪,但java文档的说法不同(h代表色调):s和b分量应该是介于0和1之间的浮点值(数字范围为0.0-1.0)。h分量可以是任何浮点数。该数字的下限将从中减去,以创建一个介于0和1之间的分数。然后将该分数乘以360,以在HSB颜色模型中生成色调角度。奇怪,但java doc的说法不同(h表示色调):s和b分量应为介于0和1之间的浮点值(范围为0.0-1.0的数字)。h分量可以是任何浮点数。该数字的下限将从中减去,以创建一个介于0和1之间的分数。然后将该分数乘以360,以在HSB颜色模型中生成色调角度。