我在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;
然而,它不会影响性能。而且还很慢。
如何在不降低性能的情况下将加载器中的图像加载到位图中。
答案 0 :(得分:3)
使用Loader
加载图片时,您已获得Bitmap
。那你为什么要draw()
进入另一个呢?
这样做:
private function loadComplete(event:Event):void
{
bitmap = loader.contentLoaderInfo.content as Bitmap;
}