03/04/2003, 18:08
|
| Moderador extraterrestre | | Fecha de Ingreso: diciembre-2001 Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años Puntos: 61 | |
Mi querido caricatos!
Creo que lo que pides es bien sencillo. Los colores en formato #000000 indican el color en RGB pero en formato hexadecimal, es decir las 2 primeras cifras son el rojo las dos siguientes el verde y las 2 últimas el azul.
Si te fijas 16*16 son 256 que son los 255 (más el cero) de los colres RGB de toda la vida. Así A equivale a 10, B equivale a 11, C equivale a 12, D equivale a 13, E a 14 y F a 15.
Así el valor #FF0000 equivale a RGB (255,0,0) o #AB3FEE equivale a RGB (171,63,238) es decir (16*10+11,16*3+15,16*15+15)
Entonces para convertirlo no creo que sea muy complicado.
He sacado esta función de una página de internet:
Código:
function xd(x)
{
max = 8;
document.DezHex.Wert.value = "";
var e = new Array();
var z = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
var d = 0, chk = 0;
x = x.toUpperCase();
for(i=0;i<x.length;i++)
{
for(j=0;j<=16;j++)
{
if(x.substring(i,i+1) == z[j])
{ chk = 1; e[i] = j; }
}
if(chk == 0)
{ document.DezHex.Wert.value = "¡La cifra no es permitida!"; return; }
}
for(i=0;i<x.length;i++)
d = d + e[i] * Math.pow(16,x.length-i-1)
document.DezHex.Wert.value = d;
}
Habría que adaptarlo para que tomara los valores de 2 en 2.
O me he confundido al responder o no sé por qué preguntas esto en HTML... supongo que será lo primero...
Un saludo!
__________________ Cómo escribir
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |