>>Может ошибка в том как я получаю ByteArray?
похоже, что так
затрудняюсь сказать почему, но когда скармливаем лоадеру loaderInfo.bytes, то получаем в его content'е MovieClip
а если загрузить картинку как бинарник, то все нормально - имеем Bitmap
Код AS3:
package
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.ByteArray;
public class Main extends Sprite
{
private var loader:Loader = new Loader();
private var loader1:Loader = new Loader();
private var urlLoader:URLLoader = new URLLoader();
public function Main():void
{
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeIMG);
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, completeDecode);
urlLoader.addEventListener(Event.COMPLETE, completeData);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
//loader.load(new URLRequest("face0.jpg"));//то, что происходит у автора
urlLoader.load(new URLRequest("face0.jpg"));//работающий вариант
}
private function completeData(evnt:Event):void
{
var ba:ByteArray = urlLoader.data;
loader1.loadBytes(ba);
}
private function completeIMG(evnt:Event):void
{
var ba:ByteArray = loader.content.loaderInfo.bytes;
loader1.loadBytes(ba);
}
private function completeDecode(evnt:Event):void
{
var myBmp : DisplayObject = loader1.content as DisplayObject;
trace( "myBmp : " + myBmp );
//[object MovieClip] если отдавать loaderInfo.bytes;
//[object Bitmap] если отдавать urlLoader.data;
}
}
}
ps.
к слову сказать: в AVM1 jpg, загруженный с помощью MovieClipLoader.loadClip или MovieClip.load, тоже никакого отношения к графике уже не имел