Загрузка изображения с помощью Loader.loadBytes(byteArray)
Я хотел бы спросить об одной вещи:
Если я создаю Loader и загружаю внешнее изображение по URLRequest, у меня не получится:
loader.content is Bitmap
loader.content.bitmapData is BitmapData
Но если я использую Loader.loadBytes(ImageBytes), результат будет другим, даже если ImageBytes - loader.contentLoaderInfo.bytes:
bytesLoader.content is MovieClip
bytesLoader.content.getChildAt(0) is Bitmap
bytesLoader.content.getChildAt(0).bitmapData is BitmapData
Зачем?
1 ответ
AS3 Loader имеет внутренний анализ, чтобы попытаться сопоставить типы данных с внутренними типами классов. В большинстве случаев это довольно удобно, но синтаксис немного странный.
В вышеприведенном примере вы МОЖЕТЕ преобразовать bytesLoader.content как Bitmap, если хотите.
Изменить (в связи с вопросом "как"):
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, getImage);
ldr.load ( new URLRequest ( IMAGE_URL ) );
function getImage (e:Event):void {
var bmp:Bitmap = ldr.content as Bitmap;
addChild (bmp);
}
Вы должны быть в состоянии просто использовать его как растровое изображение.