ByteArray到BitmapData AS3

时间:2012-07-18 12:46:07

标签: actionscript-3 bytearray bitmapdata

我正在使用com.adobe.images.PNGEncoder将bitmapData编码为byteArray。有没有办法将byteArray转换回bitmapData不使用Loader?谢谢。

编辑:我不想使用Loader的原因是它是Asynchronous,我不想实现eventlisteners。

2 个答案:

答案 0 :(得分:10)

以下是使用loader类但是是同步的。

var loader:Loader = new Loader();
loader.loadBytes(byteArray);
bmpData.draw(loader);

编辑:Nevermind loadBytes也是异步的,文档说您需要等待init事件。不想要事件监听器的原因是什么?它们是AS3中非常常见的做法。

所以你需要这样的东西:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, function(e:Event):void {
   bmpData.draw(loader);    
});
loader.loadBytes(byteArray);

答案 1 :(得分:2)

查看bitmapdata的setpixels()方法。它需要一个矩形来定义大小,并使用bytearray作为内容。这种方法同步