Я сделал что-то вроде этого для удовольствия:
var a:Loader = new Loader();
a.contentLoaderInfo.addEventListener(Event.COMPLETE, aLoaded);
a.load(new URLRequest('A.swf'));
addChild(a);
var b:Loader = new Loader();
b.contentLoaderInfo.addEventListener(Event.COMPLETE, bLoaded);
addChild(b);
function aLoaded(event:Event):void {
trace('a loaded');
event.currentTarget.removeEventListener(Event.COMPLETE, aLoaded);
b.loadBytes(a.loaderInfo.bytes);
}
function bLoaded(event:Event):void {
event.currentTarget.removeEventListener(Event.COMPLETE, bLoaded);
trace('b loaded');
}
используя loadBytes загрузчика и loaderInfo байтов Я создаю бесконечный цикл, где a загружает, загружает b, загружает a, загружает b, загружает a, загружает b ... и начинают появляться все циклы.
НЕ ДЕЛАЙТЕ ЭТОГО!
Это не то, чтовам нужно, вы работаете с изображениями, поэтому загрузчик content должен быть растровым.Вы можете получить доступ и клонировать bitmapData, если у вас есть разрешение на доступ к пикселям (например, кросс-доменная политика и новый LoaderContext (true) в качестве второго параметра в вызове load ()).
Таким образом, ваш ответ должен бытьпросто:
var a:Loader = new Loader();
a.contentLoaderInfo.addEventListener(Event.COMPLETE, aLoaded);
a.load(new URLRequest('app_image.jpg'));
addChild(a);
function aLoaded(event:Event):void {
if(a.content is Bitmap){//check if it's actually an image, not a swf
var clonedData:Bitmap = Bitmap(a.content).bitmapData.clone();
//do whatever you need with the clone
//e.g. var dolly:Bitmap = new Bitmap(clonedData);//etc
}
}
Это не код ООП, это просто что-то минимальное, чтобы вы могли легко получить картинку:)