2014-02-14 36 views
0

我有一個圖像加載器,其中用戶上傳他們自己的圖像,我想知道如何縮放圖像只有當寬度和高度超過一定的大小?這樣,例如,一張200 x 200的圖像將不會被縮放,而是一張2000 x 2000的圖像。如果超過一定的尺寸只能縮放圖像

function selectedFile(e:Event):void{ 
    browseImage.addEventListener(Event.COMPLETE, completeLoadImage); 
    browseImage.load(); 
    browseImage.removeEventListener(Event.SELECT, selectedFile); 
} 

function completeLoadImage(e:Event):void{ 

imageLoader.loadBytes(e.target.data); 
imageLayer.addChild(imageLoader); 
if (imageLoader.contentLoaderInfo.width > 250 && imageLoader.contentLoaderInfo.height > 250) 
{ 
    imageLoader.scaleX = imageLoader.scaleY = 0.2; 
} 

回答

0

看看Loader.contentLoaderInfo

const MIN_HEIGHT_FOR_SCALING:Number = 1000; 
const MIN_WIDTH_FOR_SCALING:Number = 1000; 
var loader:Loader = new Loader(); 
loader.addEventListener(Event.COMPLETE, completeHandler); 

function completeHandler(e:Event):void { 
    if (loader.contentLoaderInfo.height > MIN_HEIGHT_FOR_SCALING && loader.contentLoaderInfo.width > MIN_WIDTH_FOR_SCALING) { 
     loader.scaleX = loader.scaleY = .2; 
    } 
} 
+0

我得到'錯誤#2099:加載對象未充分加載提供此information.' – user3310563

+0

我的錯。我通常不使用'Loader'作爲圖像(我通常使用Flex)。代之以監聽'loader.contentLoaderInfo.addEventListener(Event.INIT,handler)'。 –

+0

我已經更新了原來的帖子和我的內容。我得到了錯誤#1069:在flash.display.LoaderInfo上找不到屬性數據,並且沒有默認值。 – user3310563