ByteArray to BitmapData AS3

て烟熏妆下的殇ゞ 提交于 2019-11-27 07:49:54

问题


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.


回答1:


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



回答2:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!