AS3 - BitmapData.encode()是否有等效的decode()?

时间:2013-07-25 08:06:19

标签: actionscript-3 bitmapdata

有没有办法在使用BitmapData.encode()后将ByteArray变回BitmapData?

1 个答案:

答案 0 :(得分:4)

不,没有。您必须使用Loader加载编码的JPEG并通过加载的内容访问位图数据:

    var bitmap:Bitmap = new Bitmap(new BitmapData(100, 100, false, 0xFF0000));
    addChild(bitmap);

    var bytes:ByteArray = new ByteArray();
    bitmap.bitmapData.encode(bitmap.bitmapData.rect, new JPEGEncoderOptions(), bytes);
    bitmap.bitmapData.dispose();

    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(event:Event):void
    {
        var bd:BitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData;

        bitmap.bitmapData = bd;
    });
    loader.loadBytes(bytes);