相关疑难解决方法(0)

为功率计生成红色和绿色之间的颜色?

我正在写一个Java游戏,我想要实现一个功率计,你会有多难拍摄一些东西.

我需要编写一个在0到100之间取一个int的函数,根据该数字的高度,它将返回Green(功率刻度为0)和Red(功率刻度为100)之间的颜色.

与音量控制的工作方式类似:
音量控制

我需要对颜色的红色,绿色和蓝色组件进行哪些操作才能生成绿色和红色之间的颜色?

所以,我可以说,getColor(80)它将返回一个橙色(它的值在R,G,B)或getColor(10)将返回更多的绿色/黄色RGB值.

我知道我需要为新颜色增加R,G,B值的分量,但我不知道颜色从绿色 - 红色偏移时的上升或下降.


进展:

我最终使用了HSV/HSB色彩空间,因为我更喜欢渐变色(中间没有深褐色).

我使用的功能是:

public Color getColor(double power)
{
    double H = power * 0.4; // Hue (note 0.4 = Green, see huge chart below)
    double S = 0.9; // Saturation
    double B = 0.9; // Brightness

    return Color.getHSBColor((float)H, (float)S, (float)B);
}
Run Code Online (Sandbox Code Playgroud)

其中"功率"是介于0.0和1.0之间的数字.0.0将返回亮红色,1.0将返回亮绿色.

Java Hue图表:
Java Hue图表

language-agnostic graphics interpolation colors

133
推荐指数
6
解决办法
8万
查看次数