2011-10-25 118 views
5

我想知道是否有任何方法來確定解碼爲ByteArray的圖像的寬度和高度。例如,在下面的任何方式來確定這些值的數據?從ByteArray獲取圖像大小

var data:ByteArray = new ByteArray(); (字節數組);

回答

3

你可以這樣說:

var loader:Loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded) 
loader.loadBytes(byteArrayData); 

-

function onLoaded(e:Event):void 
{ 
    var loader:Loader = Loader(e.target.loader); 
    var bitmapData:BitmapData = Bitmap(e.target.content).bitmapData; 

    width = bitmapData.width; 
    height = bitmapData.height; 

    // cleanup 
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaded); 
} 

的缺點是,整個圖像將被解碼的,所以如果你實際上並不需要的圖像,但只有寬度和高度,你可能真的想看看字節數組並解碼文件格式。 (更棘手,但

+0

我得到錯誤#2044:未處理的IOErrorEvent :.文字=錯誤#2124:加載的文件爲未知類型 – user1013448

+0

我正在傳遞的ByteArray到裝載時的錯誤 。 錯誤#2044:未處理的IOErrorEvent :.文本=錯誤#2124:加載文件是未知類型。 – user1013448

+0

可能你提供的ByteArray不好。該字節數組來自哪裏? –