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 -------------------------------->
