2012-09-11 84 views
0

我想从远程URL和同步加载图像并更改它的宽度和高度。加载图像和更改宽度和高度as3

我正在使用folowwing代码,但它希望让我改变宽度和高度,我想我需要将加载器转换为位图对象。

我该怎么做,非常感谢。

var imageURLRequest:URLRequest = new URLRequest(pic); 
var myImageLoader:Loader = new Loader(); 
myImageLoader.load(imageURLRequest); 
var urlRequest:URLRequest = new URLRequest(pic); 
var loader:Loader = new Loader(); 
loader.load(urlRequest); 
trace(loader.width); // return 0 
loader.width =100; //dosent work 
allMC[i].img.addChild(loader); 

回答

3

要访问加载器加载的内容,请使用loader.content参考。如果您正在加载图像,您可以通过(loader.content as Bitmap).bitmapData检索其原始数据,当然首先通过if (loader.content is Bitmap)检查是否如此。另外,您需要在加载器完成加载后执行所有这些操作,它会发送一个指示此事件的事件。

... 
loader.load(urlRequest); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete); 
... 
private function loaderComplete(e:Event):void { 
    // now your image is fully loaded 
    trace(loader.content.width); 
    // etc etc, whatever you need to do with your image prior to 
    // addressing it from elsewhere. 
} 
+0

@你的问题是与循环不与装载机 –

+0

好吧,加载图像总是需要时间。我认为你正在使用一些外部图像库作为你的图像源,所以是的,为了让你有一个工作循环,你必须预先加载你的图像异步,或发送请求另一个图像正确的之前的图像加载完毕,这会为您购买一段时间,而用户会欣赏刚刚加载并显示的图像,并且还没有时间让您的循环继续进行。 – Vesper

+0

我发现 - > http://www.ilike2flash.com/2011/05/load-multiple-images-in-actionscript-3.html – Yan