如何将动态加载的图像调整为flash(as3)

Edb*_*bro 4 actionscript-3 flash-cs4 image-resizing image-scaling

一旦动态调入图像并将其放入MC中,我就很难找到合适的as3代码来调整图像大小.我正在加载使用:

var myLoader :Loader = new Loader(); 
mc.addChild(myLoader);
var url :URLRequest = new URLRequest("myimage.jpg"); 
myLoader .load(url );
Run Code Online (Sandbox Code Playgroud)

舞台最终会打开全屏(工作正常)所以我需要保持图像的原始尺寸比舞台大得多.

我需要做的是在加载时将其缩小到与舞台相同的高度,同时保持宽度成比例(哦和中心).我已经尝试了各种代码,但无法找到任何工作,因为我设法做的就是调整包含图像但不是图像本身的MC.任何有关正确代码的指导都将非常感激.

我猜它就像这样简单

 "myimage".x=600;
Run Code Online (Sandbox Code Playgroud)

但是如果是这样的话,写出图像名称的正确方法是什么,正如我所写,这似乎是错误的.非常感谢

埃德

小智 9

我试着回答你的问题

 import flash.display.MovieClip;
 import flash.display.Sprite;
 import flash.display.DisplayObject;
 import flash.display.Loader;
 import flash.display.LoaderInfo;
 import flash.events.Event;

   var myLoader:Loader = new Loader(); 
   var image:Bitmap;
   var url :URLRequest = new URLRequest("im1.jpg");
   myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
   myLoader.load(url);

   function onImageLoaded(e:Event):void {
      image = new Bitmap(e.target.content.bitmapData);
      var mw:Number = stage.stageWidth;
      var mh:Number = stage.stageHeight;   
      /* if you set width and height image same with the stage use this */
      image.width = mw;
      image.height = mh;
      mc.addChild(image);
   }
Run Code Online (Sandbox Code Playgroud)