从ByteArray获取图像大小

use*_*448 5 actionscript-3 flash-cs5

我想知道是否有任何方法可以确定解码为ByteArray的图像的宽度和高度.例如,在下面,任何方法来确定数据的这些值?

var data:ByteArray = new ByteArray();

data = encoded_image.decode(byteArrayData);

Cri*_*hai 3

你可以这样做:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded)
loader.loadBytes(byteArrayData);
Run Code Online (Sandbox Code Playgroud)

-

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);
}
Run Code Online (Sandbox Code Playgroud)

缺点是整个图像将被解码,所以如果您实际上不需要图像,而只需要宽度和高度,您可能实际上想要查看字节数组并解码文件格式。(更棘手,但是