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