Da RGB a Hex e da Hex a RGB

Come convertire i colori in formato RGB in formato Hex e viceversa?

Per esempio, convertire '#0080C0'in (0, 128, 192).

Presumo che tu intenda la notazione esadecimale in stile HTML, cioè #rrggbb. Il tuo codice è quasi corretto, tranne che hai invertito l'ordine. Dovrebbe essere:

var decColor = red * 65536 + green * 256 + blue;

Inoltre, usare i bit-shift potrebbe renderlo un po' più facile da leggere:


var decColor = (red 
Commentari (20)

Forse cercate qualcosa del genere?

function RGB2HTML(red, green, blue)
{
    return '#' + red.toString(16) +
           green.toString(16) +
           blue.toString(16);
}

alert(RGB2HTML(150, 135, 200));

visualizza #9687c8

Commentari (3)

L'HTML usa il sistema esadecimale e l'rgb usa il sistema decimale. quindi devi convertire il numero da esadecimale a decimale e viceversa.

Commentari (0)