Ist ein Ping in ms gegeben, gibt es eine Möglichkeit, die Schattierung algorithmisch auszuarbeiten, können wir diesen Ping machen, ohne die ifs und Farben hart zu codieren? IE diese Funktion funktioniert gut:Farben algorithmisch anstelle von hart definierenden Werten anzeigen
function displayPing(lngThePingTime)
response.Write("<span style=""font-wight:bold;color:")
if(lngThePingTime < 50) then
response.Write("#77ff66")
elseif lngThePingTime < 100 then
response.Write("#22ee00")
elseif lngThePingTime < 150 then
response.Write("#33bb00")
elseif lngThePingTime < 250 then
response.Write("#ffaa00")
elseif lngThePingTime < 400 then
response.Write("#ee6600")
elseif lngThePingTime < 550 then
response.Write("#dd4400")
elseif lngThePingTime < 700 then
response.Write("#dd1100")
elseif lngThePingTime < 1000 then
response.Write("#990000")
else
response.Write("#660000")
end if
response.Write(""">")
response.Write lngThePingTime
response.Write("</span>")
end function
Aber ist es eine Möglichkeit, einen Algorithmus aufweist, der sagt:
Lowest Colour : #77ff66
Highest Colour: #660000
Cutoff Value: 1500 (any ping higher than this is fixed to highest colour)
Damit die Farbe jeden Schatten nicht eine Reihe von festen Schatten sein wird?
Sprache spielt keine Rolle, mehr Interesse an der Methode!
Split die Farben an den entsprechenden RGB Werte und führen eine einfache lineare Interpolation zwischen Low und High durch. Sieht für mich OK aus, ich habe das benutzt. –
Interpolation in den HSV-Koordinaten sieht in der Regel ein bisschen besser, d. H. Übergang von grün nach rot geht durch gelb statt bräunlich. –