No te puedo poner c�digo porque no lo tengo a mano... Per tenemos un
m�todo de String que hace cambios de base:

<code>
   var r = 255;
   var g = 255;
   var b = 0;

   r = r.toString(16);
   g = g.toString(16);
   b = b.toString(16);

   trace(r + g + b);  // FFFF0
</code>


Es un c�digo f�cilmente adaptable a funci�n...

toString() acepta varias bases y s�lo le tenemos que modificar el
par�metro. Con lo que pasar de hexadecimal a decimbal (RGB) es tambi�n
bastante r�pido...

Mi granito de arena...


> -----Mensaje original-----
> De: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] En nombre de Marc el XrV
> Enviado el: mi�rcoles, 19 de noviembre de 2003 20:46
> Para: [EMAIL PROTECTED]
> Asunto: Re: [ASNativos] transiciones de color formato 0x000000
> 
> 
> Hola, aqui te mando mis funcioncitas para convertir de HEX a 
> DECIMAL y de 
> DECIMAL A HEX:
> 
> dec2hex = function(col){
>       hexNum = col.toString(16);
>       if (col<16) {
>               hexNum = "0"+hexNum;
>       }
>       return hexNum = hexNum.toUpperCase();
> }
> hex2dec = function(col){
>       decNum = parseInt(col,16);
>       return decNum;
> }
> 
> 
> Pero yo por norma uso una clase que me curr� hace tiempo :
> 
> MovieClip.prototype.fastRGB = function(r, g, b) {
>       if (!isNaN(r) && !isNaN(g) && !isNaN(b) && r<256 && 
> r>=0 && g<256 && g>=0 
> && b<256 && b>=0) {
>               r = r<<16;
>               g = g<<8;
>               b = b;
>               rgb = r|g|b;
>               col = new Color(this);
>               col.setRGB(rgb);
>       } 
> }
> MovieClip.prototype.fastTransRGBA = function(ra,rb,ga,gb,ba,bb,aa,ab){
>       if(arguments.length<8){
>               return false;
>       }
>       var x=0;
>       while(x<arguments.length){
>               if(isNaN(arguments[x++])){
>                       return false;
>               }
>       }
>       if (ra<=100 && ga<=100 && ba<=100 && aa<=100 && 
> ra>=-100 && ga>=-100 && 
> ba>=-100 && aa>=-100 && rb<=255 && gb<=255 && bb<=255 && ab<=255 && 
> ba>rb>=-255
> && gb>=-255 && bb>=-255 && ab>=-255){
>               
> thisColor={ra:ra,rb:rb,ga:ga,gb:gb,ba:ba,bb:bb,aa:aa,ab:ab};
>               col = new Color(this);
>               col.setTransform(thisColor);
>               return true;
>       }else{
>               return false;
>       }
> }
> 
> 
> 
> MovieClip.prototype.fastTransRGB = function(ra,rb,ga,gb,ba,bb){
>       if(arguments.length<6){
>               return false;
>       }
>       var x=0;
>       while(x<arguments.length){
>               if(isNaN(arguments[x++])){
>                       return false;
>               }
>       }
>       if (ra<=100 && ga<=100 && ba<=100 && ra>=-100 && 
> ga>=-100 && ba>=-100 && 
> rb<=255 && gb<=255 && bb<=255 && rb>=-255 && gb>=-255 && bb>=-255){
>               
> thisColor={ra:ra,rb:rb,ga:ga,gb:gb,ba:ba,bb:bb,aa:100,ab:255};
>               col = new Color(this);
>               col.setTransform(thisColor);
>               return true;
>       }else{
>               return false;
>       }
> }
> 
> 
> 
> clip.fastRGB(255,0,0); 
> clip.fastTransRGBA(50,200,-100,200,100,200,50,255);
> 
> si quieres pueder verlo colgado en proto.layer51:
> 
> http://proto.layer51.com/d.aspx?f=708
> 
> ala, saludos :)
> 
> ---------- Original Message -----------
> From: "Felipe Alonso" <[EMAIL PROTECTED]>
> To: "asn" <[EMAIL PROTECTED]>
> Sent: Wed, 19 Nov 2003 20:23:50 +0100
> Subject: [ASNativos]  transiciones de color formato 0x000000
> 
> > Buenas tardes/noches
> > 
> > Estoy trabajando en un men� que var�a de color seg�n presione un
> > bot�n u otro.
> > 
> > Para definir los colores uso RGB y color hexadecimal (0x000000)
> > 
> > Las transiciones de color y su aplicaci�n en el caso de R, 
> G, B est�n 
> > solucionada, compruebo el valor inicial de R y sumo o resto 
> hasta el 
> > valor final de R. As� con cada color (RGB). Los cambios los voy 
> > aplicando al momento, de esa forma consigo una transici�n 
> suave entre 
> > tonos.
> > 
> > Los problemas me llegan al usar colores hexadecimales (creo que se 
> > llaman as�), esos de 0xFFFFFF.
> > 
> > Con RGB no tengo problemas por es sumar o restar al valor inicial 
> > hasta llegar al valor final, pero cuando intento hacer la 
> transici�n 
> > de colores hexadecimales, se me hace cuesta arriba por no decir 
> > imposible, ya que puedo sumar o restar n�meros pero no letras.
> > 
> > He mirado en la ayuda y he visto algo pero no acabo de encontrar la 
> > soluci�n.
> > 
> > Esa soluci�n la tengo en un libro del que no dispongo en estos 
> > momentos. Creo que era algo como pasar hexadecimal a formato RGB, 
> > realizar la suma o resta y luego hacer la operaci�n inversa.
> > 
> > Otro de los problemas es que el color hexadecimal ha de ser exacto 
> > porque estoy trabajando con colores corporativos, motivo 
> por el cual 
> > no me valen los tonos aprox.
> > 
> > �Me podr�ais dar una pista?
> > 
> > Gracias
> > 
> > Felipe Alonso
> > 
> > <!-------------------------------
> > Lista ASNativos:
> > subscripciones/desubscripciones http://www.sidedev.net/asnativos
> > -------------------------------->
> ------- End of Original Message -------
> 
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones http://www.sidedev.net/asnativos
> -------------------------------->
> 

<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->

Responder a