ByteArray to BitmapData AS3

astralmaster picture astralmaster · Jul 18, 2012 · Viewed 13.5k times · Source

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.

Answer

Barış Uşaklı picture Barış Uşaklı · Jul 18, 2012

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);