gpt4 book ai didi

java - 计算介于两种颜色之间的颜色?

转载 作者:搜寻专家 更新时间:2023-11-01 01:43:54 26 4
gpt4 key购买 nike

我需要可视化一个数字列表,这个列表每 x 分钟生成一次。我目前使用单行,旁边有数字。这工作正常,但在进行实时分析时,眼睛会变得很硬。

经过一番思考,我想出了用颜色编码数字的想法,一个大的负数是红色,一个大的正数是绿色,一个正常的正数是浅绿色,比正常数字略大的数字位于绿色和浅绿色。

为了说明这一点,我制作了一张图片:

enter image description here

我的问题。例如,如果我们有:

50: Color.green
0: Color.white
-50: Color.red

如何计算代表 25 的颜色?

最佳答案

对于 red <--> white <--> green 之间的严格线性表示,

import java.awt.Color;

/* Define the MAXIMUM saturation of RED and GREEN shades
* Range (0-255)
*/
final int RED_MAX = 255;
final int GREEN_MAX = 255;

/* input val varies from -MAX to MAX */

/* output valColor varies from
* -MAX = red
* ^
* |
* v
* 0 = white
* ^
* |
* v
* MAX = green
*/

/* Normalised normVal varies from -255 to 255 */
normVal = (val*255)/MAX

if(val < 0) {
/* Make it red-ish */
valColor = new Color( RED_MAX,
255 + normVal,
255 + normVal );
} else if (val > 0) {
/* Make it green-ish */
valColor = new Color( 255 - normVal),
GREEN_MAX,
255 - normVal );
} else {
/* Absolute White */
valColor = new Color( 255, 255, 255 );
}

关于java - 计算介于两种颜色之间的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17997223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com