Heyoh SO,Imposta il colore dello sfondo in base alla temperatura esterna
Ho un widget di temperatura da implementare su un progetto su cui sto lavorando. Niente è particolarmente difficile, ho una API gratuita per recuperare i dati che ho bisogno di ect.
MA, la bella designer che lavora con me avrebbe una funzione di colore per il quale ho nessuna buona idea per iniziare con ...
Avrebbe per definire un background-color seconda delle condizioni climatiche attuali temperatura.
Voglio dire, se la temperatura è fredda, come -20, il colore di sfondo deve essere blu/viola/qualsiasi colore freddo; e quando è caldo, come 25, dovrebbe avere uno sfondo caldo come l'arancione/rosso.
Penso che potrei facilmente lavorare con una serie di "gradini di temperatura", ma preferirei lavorare con una funzione che potrebbe definire il colore in base alla temperatura. So che è strano, non so se c'è un algoritmo per definire un colore per il suo colore di temperatura ... Questo articolo è utile http://en.wikipedia.org/wiki/Color_temperature ma piuttosto complicato, se qualcuno ha qualche idea, anche per un inizio, io sono molto interessato !
ho visto questa discussione: Display temperature as a color with C#?
Ma io non sto usando C# e io non voglio, quindi se c'è una soluzione in JavaScript, sarebbe perfetto. Posso eventualmente lavorare con PHP o NodeJS se c'è una necessità sul lato server.
EDIT - Risposta:
Infine, non ho avuto la possibilità di usare una vera e propria gamma di colori di pendenza, a causa delle esigenze grafiche. Ma dovevo ancora mescolare i colori dei passi più vicini a seconda della temperatura! Ho scritto una piccola libreria JS per farlo, che potrete trovare presto su GitHub, posterò il link qui.
Lo si può trovare qui:
The presentation website of the project
perché non basta aggiungere la classe CSS appropriata sulla base di una logica condizionale? –
intendete aggiungere una classe come .temperature-minus-20 che dovrebbe visualizzare un colore di sfondo definito? So che questo è un modo di lavorare, ma devo definire tutte quelle lezioni in anticipo in CSS, e preferirei non gestirlo in un modo "step-based", se è possibile! –
non esattamente, ma ottieni solo un intervallo generale di valori che potrebbero essere rappresentati. –