Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/04/2003, 18:08
Avatar de KarlanKas
KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
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.