Domanda

La mia domanda è legata alla algoritmo per convertire qualsiasi intero positivo ad un valore RGB ma in realtà non è la stessa domanda -. che il ragazzo ha per lo più un problema di dati normalizzazione, io in realtà ho più di un problema di selezione di colore estetica

Ho un po 'di numeri compresi tra -1,0 e +1,0. Ho bisogno di creare una mappa termica sovrapposto con il testo.

Qual è il modo più semplice, utilizzando PHP, per convertire ogni numero in un colore HTML (#RRGGBB), in modo tale che il colore risultante non solo è intuitivamente legato alla temperatura (vale a dire più blu per i più freddo e più rossa per il più caldo, con un po 'transizione graduale in mezzo), ma anche che è adatto come un colore di sfondo per il testo nero-colore?

È stato utile?

Soluzione

I attuerebbe come un semplice gradiente lineare tra i componenti rosso e blu, utilizzando il funzione sprintf per codificare un valore esadecimale:

function toHeatColor($full) {
    $positive = ($full + 1) / 2;
    return sprintf("#%02xcc%02x", $positive * 51 + 204, (1 - $positive) * 51 + 204);
}

Si può vedere come la gamma di colori guarda http://jsfiddle.net/9QQkU/ . I valori corrispondenti sono -1, -0.75, 0, 0,75, e 1.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top