从双值获取颜色

时间:2012-02-29 21:29:38

标签: java colors double color-scheme

我必须从双值矩阵(正面和负面)创建堆映射,但是如何从绿色和红色之间的范围内获取这些值的颜色? 感谢

3 个答案:

答案 0 :(得分:2)

为“全红”(例如(255,0,0))和“全绿”(例如(0,255,0))选择RGB颜色。然后根据输入值与最大可能值之间的比率在它们之间进行插值。

linear interpolation中最简单的插值是RGB colour space。然而,这可能不会给出非常令人满意的结果(特别是,值的亮度和饱和度会变化)。更好的方法可能是转换为HSV colour space,并在那里进行插值。

答案 1 :(得分:2)

您需要将您的值范围映射到色调饱和度值/亮度颜色空间中的色调范围,然后将其转换为RGB。

答案 2 :(得分:1)

假设绿色是正的,红色是负的,就像在大多数红绿色热图中一样,在正值中找出最正值并将它们除以它,然后在负值中找出最负值并将它们除以它。将正值的比率乘以255表示绿色并将红色保持为0,将负值的比率乘以255表示红色并将绿色保持为0.因此,当值为0时,它应为黑色;当价值处于最积极的状态时,它是完全绿色的;当值最负时,它完全是红色。