2011-10-25 87 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不好。该字节数组来自哪里? –