0
我有一个从-1到1的浮点值数组。 我想获得一个渐变颜色比例红色黄色绿色蓝色紫色,其中颜色取决于值的大小(1代表红色,-1代表蓝色,0代表绿色?)。C++中的颜色刻度
我应该如何处理这些值以获得任何rgb值?
我有一个从-1到1的浮点值数组。 我想获得一个渐变颜色比例红色黄色绿色蓝色紫色,其中颜色取决于值的大小(1代表红色,-1代表蓝色,0代表绿色?)。C++中的颜色刻度
我应该如何处理这些值以获得任何rgb值?
假设您想要一个线性插值渐变,那么您可以对数组中的每个变量执行此操作。 r
,g
,b
,将在0..1范围内,并且如果需要,可以很容易地将其转换为0..255个整数。
float v; // = array value
float r = 0.f, g = 0.f, b = 0.f;
if (v < 0)
{
b = 1.f + v;
g = -v;
}
else
{
r = v;
g = 1.f - v;
}