The problem seems to be here:

var hexNum:Number = parseInt(c, 16);

You're asking parseInt to convert a string to an integer and telling it the
string is an hexadecimal representation, when it's decimal, according to
this line:

trace("string colour:"+c); //  e.g. for red: 16711680

So try,

hexNum:Number = parseInt(c,10);

If you have a number, you don't need to worry about decimal / hexadecimal.
It's just a number: you can have, say, the number 10, which would be
represented as "10" in decimal, "0xa" in hexadecimal, "1010" in binary, etc,
but those are just a way to display a number. If you already have the
number, you don't need any extra step.

Hope this helps.


Cheers
Juan Pablo Califano


2009/2/10, ali drongo <alidro...@googlemail.com>:
>
> Thanks for your responses guys. I'm still stuck on this and I have been
> playing around a lot. I can get the number from the decimal format to the
> hex string but when I try to convert it to a hex number the colour is
> incorrect.
> Any advice much much appreciated, this is taking up lots of time.
>
> Thanks:
>
>
>
> public function colorIn(o:Object):void
> {
> trace("===================");
> var colA:Array = o.Colors.split(",");
> colA.splice(0,1);
> for ( var i:uint=1; i<=totSprites-1; i++ ) {
> var c:String = colA[i];
> trace("string colour:"+c); //  e.g. for red: 16711680
> //convert to decimal number
> var tmpN:Number = Number(c);
> trace("decimal:"+tmpN); //  traces: 16711680
> //convert to string of hex number
> var hexStr:String = tmpN.toString(16);
> trace("hexStr:"+hexStr);          //traces: ff0000
> //convert to hex number
> var hexNum:Number = parseInt(c, 16);
> trace("= = = = = = =>   hex number:"+hexNum); //traces in decimal format
> and
> wrong number:  376510080
> //set mc to color
> var mcToCol:* = mainImage["s"+i];
> //transform color
> var newColorTransform:ColorTransform = mcToCol.transform.colorTransform;
> newColorTransform.color = hexNum;
> mcToCol.transform.colorTransform = newColorTransform;
> };
> }
>
>
>
>
>
> On Mon, Feb 9, 2009 at 8:55 PM, Merrill, Jason <
> jason.merr...@bankofamerica.com> wrote:
>
> > Courtesy Evan Mullins of Circlecube Studio:
> >
> > //bitwise conversion of rgb color to a hex value
> > function rgb2hex(r, g, b):Number
> > {
> >    return(r<<16 | g<<8 | b);
> > }
> >
> > //bitwise conversion of a hex color into rgb values
> > function hex2rgb (hex):Object
> > {
> >    var red = hex>>16;
> >    var greenBlue = hex-(red<<16)
> >    var green = greenBlue>>8;
> >    var blue = greenBlue - (green << 8);
> >  //trace("r: " + red + " g: " + green + " b: " + blue);
> >    return({r:red, g:green, b:blue});
> > }
> >
> >
> >
> > Jason Merrill
> >
> >  Bank of  America
> > Learning Performance Solutions Instructional Technology & Media
> >
> > Learn about the Adobe Flash platform for rich media experiences - join
> > the Bank of America Flash Platform Community
> >
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: flashcoders-boun...@chattyfig.figleaf.com
> > [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of ali
> > drongo
> > Sent: Monday, February 09, 2009 12:26 PM
> > To: Flash Coders List
> > Subject: [Flashcoders] Converting hex colour numbers back and forth
> >
> > Hi there, I'm saving a bunch of colours as a string then using this
> > string
> > later to colour objects in the same way.  Something is going wrong
> > though as
> > the colours I am getting back are not the same as the ones I put in.
> > If anyone could point out where I'm going wrong I'd be really grateful,
> > I've
> > googled this and and have checked the help files and as far as I can see
> > it's correct (though obviously it isn't!).
> >
> > Here's my code, I've written comments next to the relevant lines:
> >
> > /// in my coloured button class
> >
> >
> > //  1) colour is set on mouse click
> > private function clickHandler(e:MouseEvent):void
> > {
> > // passes hexValue from ColorPicker
> > colorThis(this.parent.parent["colorPick"].hexValue);
> > }
> > //  2) color is stored in var
> > public function colorThis(c:String):void
> > {
> > //stores colour
> > currColor = Number("0x"+c);
> > var newColorTransform:ColorTransform = this.transform.colorTransform;
> > newColorTransform.color = currColor;
> > this.transform.colorTransform = newColorTransform;
> > }
> >
> >
> >
> > // application class
> >  //  3) stores colors in an array
> > private function collectColors():Array
> > {
> > colors_ar = new Array();
> > for ( var i:uint=1; i<=totSprites; i++ ) {
> > //stores colour in array
> > colors_ar[i] = mainImage["s"+i].currColor;
> > };
> > return colors_ar;
> > }
> >
> > //  4) array is written to string and sent to php to be written to txt
> > file
> >
> > private function sendData(e:MouseEvent):void
> > {
> > showSending(true);
> > var variables:URLVariables = new URLVariables();
> > //stores all colours as a string
> > variables.colors = collectColors().toString();
> > var request:URLRequest = new URLRequest();
> > request.url = "http://www.xxxx.com/text/test.php";;
> > request.method = URLRequestMethod.POST;
> > request.data = variables;
> > var loader:URLLoader = new URLLoader();
> > loader.dataFormat = URLLoaderDataFormat.TEXT;
> > loader.addEventListener(Event.COMPLETE, completeHandler);
> > try
> > {
> >    loader.load(request);
> > }
> > catch (error:Error)
> > {
> >    trace("Unable to load URL");
> > }
> > }
> >
> >
> > /////////   viewer class
> > //  5)
> >
> > public function colorIn(o:Object):void
> > {
> > var colA:Array = o.Colors.split(",");
> > colA.splice(0,1);
> > for ( var i:uint=1; i<=totSprites; i++ ) {
> > //calls the method in the coloured button class
> > mainImage["s"+i].colorThis(colA[i]).toString(16);
> > };
> > }
> > _______________________________________________
> > Flashcoders mailing list
> > Flashcoders@chattyfig.figleaf.com
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > _______________________________________________
> > Flashcoders mailing list
> > Flashcoders@chattyfig.figleaf.com
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to