I'm using com.adobe.images.PNGEncoder to encode bitmapData to a byteArray. Is there a way to convert the byteArray back to bitmapData NOT using a Loader? thanks.
EDIT: the reason i don't want to use a Loader is it being Asynchronous, and I don't want to implement eventlisteners.
The following is using the loader class but is synchronous.
var loader:Loader = new Loader();
loader.loadBytes(byteArray);
bmpData.draw(loader);
Edit: Nevermind the loadBytes is asynchronous too, the documentation says you need to wait for the init event. What is the reason for not wanting event listeners? They are a pretty common practice in AS3.
So you need something like this :
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, function(e:Event):void {
bmpData.draw(loader);
});
loader.loadBytes(byteArray);
Take a look on the setpixels() method of bitmapdata. It requires a rectangle to define the size and a bytearray as content. This method synchronous
来源:https://stackoverflow.com/questions/11541730/bytearray-to-bitmapdata-as3