2010-11-26 18 views
1

JavaScriptを使用すると、低い整数と高い整数が得られた場合、その範囲内のさまざまなノイズを表現するために、16進数の範囲を設定したいと考えています...それを行う最善の方法は?javacriptの色範囲

私は例を与えることができます。

// calculate total value 
var total = 0; 
for(d in data){ 
    total += data[d].value; 
} 

// Our main color 
var r=150,g=200,b=250, 

// some color calculations based on value and total value 

val = (data[iso].value/total)*35; 

r -= Math.round(val*30); 
g -= Math.round(val*30); 
b -= Math.round(val*30); 

このコードは、現在の色の範囲を作成しようとしているが、非常に高い数値が渡される場合、それはそれぞれに0を下回ると、それは、倒れr、g、bのうち、色の目的には役に立たないのです...私が何を意味するのか見たら?

誰かがより良い方法を提案できますか?ありがとうございました。

答えて

4

入力を[0,1]の範囲に正規化し、その値を使用して2つの有効な色の間を補間します。

+0

私はもう少し時間をかけて別のプロジェクトに移ってきましたが、一度このプロジェクトに戻ると、これを実行します。ありがとうございました。 – Daniel