通过Loader.loadBytes(byteArray)加载图像

时间:2011-11-13 09:54:15

标签: flash actionscript-3 loader

我想问一件事:

如果我通过URLRequest创建Loader并加载外部图像,则生成结果:

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 :(得分:0)

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

您应该能够将其简单地转换为位图。