Mark Ingram
Mark Ingram

Reputation: 73703

How to get the size of an embedded image / swf?

Normally if you were loading an image from a URL you would do the following:

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
}

But, if you set the source to an embedded image class, the complete event doesn't appear to fire. So my question is, how can you get the width / height of an embedded image / swf?

Upvotes: 0

Views: 606

Answers (1)

Cay
Cay

Reputation: 3794

The instatiation of any embedded asset is syncronous (I think the only exception is Loader.loadBytes), so as soon as you do it you can access all its properties:

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

Upvotes: 2

Related Questions