我正在使用com.adobe.images.PNGEncoder将bitmapData编码为byteArray。有没有办法将byteArray转换回bitmapData不使用Loader?谢谢。
编辑:我不想使用Loader的原因是它是Asynchronous,我不想实现eventlisteners。答案 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作为内容。这种方法同步