Actionscript 3 如何获得嵌入图像/swf的大小?

Actionscript 3 如何获得嵌入图像/swf的大小?,actionscript-3,size,flex3,Actionscript 3,Size,Flex3,通常,如果从URL加载图像,您将执行以下操作: m_image = new Image(); m_image.addEventListener(Event.COMPLETE, image_completeHandler, false, 0, true); m_image.source = "http://www.example.com/image.jpg"; private function image_completeHandler(event:Event):void { // Im

通常,如果从URL加载图像,您将执行以下操作:

m_image = new Image();
m_image.addEventListener(Event.COMPLETE, image_completeHandler, false, 0, true);
m_image.source = "http://www.example.com/image.jpg";

private function image_completeHandler(event:Event):void
{
    // Image content has now loaded, we need to wait for it to validate it's size
    m_image.addEventListener(FlexEvent.UPDATE_COMPLETE, image_updateCompleteHandler, false, 0, true);
}

private function image_updateCompleteHandler(event:FlexEvent):void
{
    // Do stuff with width / height
}

但是,如果将源设置为嵌入式图像类,则不会触发完整事件。因此,我的问题是,如何获得嵌入式图像/swf的宽度/高度?

任何嵌入式资产的安装都是同步的(我认为唯一的例外是Loader.loadBytes),因此,只要您这样做,您就可以访问其所有属性:

image = new EmbeddedImage();
trace(image.width, image.height);

这表明即使在嵌入时加载也不同步: