2010-11-26 2 views
1

Verwenden von JavaScript, wenn ich eine niedrige Ganzzahl und eine hohe Ganzzahl habe, und ich wollte eine Reihe von HEX Farben erarbeiten, um die verschiedenen Vlues in diesem Bereich darzustellen ... was wäre der beste Weg, es zu tun?Farbbereich in Javascript

ich ein Beispiel geben kann:

// 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); 

Dieser Code versucht derzeit eine Reihe von Farben zu erstellen, aber es fällt nach unten, wo eine sehr hohe Zahl an sie übergeben wird, wie es für jeden unter 0 geht von r, g und b, was bewirkt, dass es für Farbzwecke nicht gut ist ... wenn du siehst, was ich meine?

Kann jemand einen besseren Weg vorschlagen? Vielen Dank.

Antwort

4

Normalisieren Sie Ihre Eingabe auf den [0,1] -Bereich und verwenden Sie diesen Wert, um zwischen zwei gültigen Farben zu interpolieren.

+0

Vielen Dank für die Antwort, ich bin für eine Weile auf ein anderes Projekt umgestiegen, aber sobald ich zu diesem Projekt zurückkomme, werde ich es versuchen. Danke. – Daniel

Verwandte Themen