Got it to work :) some bad math in that prevous code :(

my solution:
private function changeSMCDadosImg(event:Event):void
            {
                var pW_SMCDadosImg:Number;
                        var pH_SMCDadosImg:Number;
                        var tempSize:Number;
                                
                        pW_SMCDadosImg = event.target.contentWidth;
                        pH_SMCDadosImg = event.target.contentHeight;
                        
                        var scaleF:Number;
                                
                        trace("W.ini = "+ pW_SMCDadosImg);
                        trace("H.ini = "+ pH_SMCDadosImg);
                        
                        if (pW_SMCDadosImg > pH_SMCDadosImg)
                        {
                                scaleF = 190/pW_SMCDadosImg;
                                pH_SMCDadosImg = scaleF * pH_SMCDadosImg;
                                
                                event.target.width = 190;
                                event.target.height = pH_SMCDadosImg;
                                
                                trace("scaleH = " + scaleF);
                        }
                        else if (pW_SMCDadosImg < pH_SMCDadosImg)
                        {
                                scaleF = 190/pH_SMCDadosImg;
                                pW_SMCDadosImg = scaleF * pW_SMCDadosImg;
                                
                                event.target.height = 190;
                                event.target.width = pW_SMCDadosImg;
                                
                                trace("scaleW = " + scaleF);
                        }
                        else if (pW_SMCDadosImg == pH_SMCDadosImg)
                        {
                                SMCDadosImg.height = 190;
                                SMCDadosImg.width = 190;
                        }
                        
                        event.target.y = (190/2) - (event.target.height/2);
                        event.target.x = (190/2) - (event.target.width/2);
                        
                        pW_SMCDadosImg = event.target.width;
                        pH_SMCDadosImg = event.target.height;
                                
                        trace("W.2 = "+ pW_SMCDadosImg);
                        trace("H.2 = "+ pH_SMCDadosImg);
                        
            }
 

--- In [email protected], "herklano" <[EMAIL PROTECTED]> wrote:
>
> hi,
> 
> i'm kinda noob at coding in general, but i'm trying to work my way to
> get a image that is loaded in a Canvas to center to it after it has
> been loaded to it.
> 
> i'm trying this but it doesn't work:
> 
> <mx:Canvas
>                                                                               
> x="10" y="10" width="190" borderStyle="none"
> backgroundColor="#d0d0d0" height="190">
>                                                                               
> <mx:Image id="SMCDadosImg"
> complete="changeSMCDadosImg(event);"  horizontalCenter="0"
> verticalCenter="0"/>
>                                                                       
> </mx:Canvas>
> 
>             private function changeSMCDadosImg(event:Event):void
>             {
>               var pW_SMCDadosImg:Number;
>                       var pH_SMCDadosImg:Number;
>                               
>                       pW_SMCDadosImg = event.target.width;
>                       pH_SMCDadosImg = event.target.height;
>                               
>                               trace("W = "+ pW_SMCDadosImg);
>                               trace("H = "+ pH_SMCDadosImg);
>                               
>                               if (pW_SMCDadosImg > pH_SMCDadosImg)
>                               {
>                                       SMCDadosImg.height = 190;
>                                       SMCDadosImg.width = 
> pW_SMCDadosImg/(190*pH_SMCDadosImg);
>                                       SMCDadosImg.x = 190/2 - 
> SMCDadosImg.width/2;
>                               }
>                               else if (pW_SMCDadosImg < pH_SMCDadosImg)
>                               {
>                                       SMCDadosImg.width = 190;
>                                       SMCDadosImg.height = 
> pH_SMCDadosImg/(190*pW_SMCDadosImg);
>                                       SMCDadosImg.y = 190/2 - 
> SMCDadosImg.height/2;
>                               }
>                               else if (pW_SMCDadosImg == pH_SMCDadosImg)
>                               {
>                                       SMCDadosImg.height = 190;
>                                       SMCDadosImg.width = 190;
>                               }
>             }
>


Reply via email to