2017-04-12 10 views
0

-1から1までのfloat値の配列を持っています。 色の値の大きさに依存する赤 - 黄 - 緑 - 青 - 紫のグラデーションカラースケールを取得したいとします。赤、-1は青、0は緑)?Cのカラースケール

これらの値を処理して、それらの値をrgbにするにはどうすればよいですか?

答えて

1

線形補間グラデーションを使用すると仮定すると、配列内の各変数に対してこれを行うことができます。 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; 
} 
関連する問題