0

Flash CS6 と Adob​​e 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;

ただし、パフォーマンスには影響しません。そして、まだ非常に遅いです。

パフォーマンスを低下させることなく、ローダーの画像をビットマップにロードするにはどうすればよいですか。

4

1 に答える 1

3

で画像をロードすると、LoaderすでにBitmap. それで、なぜあなたdraw()は別のものに夢中になるのですか?

これを行うだけです:

private function loadComplete(event:Event):void
{
    bitmap = loader.contentLoaderInfo.content as Bitmap;
}
于 2013-11-03T13:02:42.347 に答える