AS3 bitmapData.Draw非常低效

时间:2013-11-03 11:57:58

标签: performance actionscript-3 flash air bitmap

我在Flash CS6中使用Adobe AIR 3.4中的ActionScript 3

我正在尝试将文件系统中的图像加载到位图中。

我目前的代码是:

var loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.load(new URLRequest("assets\\" + filename));

private function loadComplete(e:Event):void
{
    //add to bitmap
    bitmap = new Bitmap();
    bitmap.bitmapData = new BitmapData(loader.width, loader.height, true, 0x000000);

    bitmap.bitmapData.draw(loader);
}

然而,bitmapData.draw的效率非常低(图像为2048x1536)。 我试过了:

bitmap.bitmapData = e.target.content.bitmapData;

然而,它不会影响性能。而且还很慢。

如何在不降低性能的情况下将加载器中的图像加载到位图中。

1 个答案:

答案 0 :(得分:3)

使用Loader加载图片时,您已获得Bitmap。那你为什么要draw()进入另一个呢?

这样做:

private function loadComplete(event:Event):void
{
    bitmap = loader.contentLoaderInfo.content as Bitmap;
}