- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 Java 游戏,我想实现一个功率计来测量您射击某物的力度。
我需要编写一个函数,它接受 0 - 100 之间的整数,并根据该数字的高低,它将返回绿色(功率刻度上的 0)和红色(功率刻度上的 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);
}
其中“power”是 0.0 到 1.0 之间的数字。 0.0 将返回亮红色,1.0 将返回亮绿色。
Java 色调图表:
最佳答案
这应该可行 - 只需线性缩放红色和绿色值。假设您的最大红/绿/蓝值为 255
,并且 n
在 0 .. 100
R = (255 * n) / 100
G = (255 * (100 - n)) / 100
B = 0
(针对整数数学进行了修改,向 Ferrucio 致敬)
另一种方法是使用 HSV colour model ,然后使用适合您的饱和度和值将色调从 0 度
(红色)到 120 度
(绿色)循环。这应该会产生更令人满意的渐变。
以下是每种技术的演示 - 顶部渐变使用 RGB,底部使用 HSV:
关于language-agnostic - 为功率计生成红色和绿色之间的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/340209/
我想知道是否可以在不使用模板的情况下使用 C++ 进行泛型编程。是否可以编写 C++ 中所有可用的库,这些库是使用模板编写的,而不使用模板。在 C++ 中是否有其他可用的模板替代方案? 我想知道是否可
目前我认为处理器只有两种状态:运行和不运行。如果它正在运行,它将使用其全部功能来处理任务。如果有多个进程,进程会共享一部分CPU。 算力如何分“份”?那么,假设一个 CPU 有 100 万个晶体管,如
据我所知,在信标发送的包中,它包含有关校准 Tx 功率(或测量功率 - 1 米处的功率值)的信息。我只是想知道为什么信标发送校准的 Tx 功率,而不是广播功率(信标从源发送的信号功率)。因为计算逻辑可
我将在我的网站上创建一个页面,其中包含大约 50 个表单。堆叠在 Accordion CSS 中。这会伤害计算机速度较慢的用户吗? 最佳答案 尽管我不知道您为什么要在一个页面上放置 50 个表单,但拥
Android 设备上的 NFC 场非常弱。与专用的非接触式阅读器相比,您需要在天线的准确位置放置另一个设备或标签,否则它无法读取。 有没有办法通过任何代码方式增加NFC芯片的磁场或功率输出? 谢谢
好吧,现在我正在尝试使用 Firefox、opera、chrome 支持的 CSS 渐变功能制作一个看起来很酷的表格。 它看起来不错,但它太落后了。当我向下滚动页面时,它非常滞后。即使在超快的计算机上
从数学、算法和元编程递归的角度来看,我有一个具有挑战性的问题。考虑以下声明: template using ratio_power = /* to be defined */; 基于 std::rat
我是一名优秀的程序员,十分优秀!