io mi sono fatto queste funzioncine
codice:
<script>
function hex2rgb(hex){
var re=/^#?[\dabcdef]{6}$/i;
var rgb=new Array(0,0,0);
if(re.test(hex)){
hex=hex.replace(/^#/,'');
rgb[0]=parseInt(hex.substr(0,2),16);
rgb[1]=parseInt(hex.substr(2,2),16);
rgb[2]=parseInt(hex.substr(4,2),16);
}
return rgb
}
function dec2hex(dec){
var strHex='0123456789ABCDEF';
return strHex.charAt((dec-(dec%16))/16)+strHex.charAt(dec%16)
}
function rgb2hex(r,g,b){
return '#'+dec2hex(r)+dec2hex(g)+dec2hex(b);
}
//esempio di utilizzo da esadecimale a rgb
var colore='#800000';
var rgb=hex2rgb(colore);
document.write('Il colore '+colore+' corrisponde a: '+rgb[0]+', '+rgb[1]+', '+rgb[2]+'<hr>');
//esempio di utilizzo da rgb a esadecimale
var r=128, g=0, b=0
colore=rgb2hex(r,g,b);
document.write('Il colore '+r+', '+g+', '+b+' corrisponde a: '+colore);
</script>