2012-09-11 82 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