загрузка изображения с помощью Loader.loadBytes (byteArray) - PullRequest
0 голосов
/ 13 ноября 2011

Я хотел бы спросить об одной вещи:

Если я создаю 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 Ответ

0 голосов
/ 13 ноября 2011

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

Вы можете просто преобразовать его в растровое изображение.

...