我有一个简单的Image组件, 我在创建时动态更改其源。
myimg.source = "http://foo/bar.jpg"
如何知道何时加载和接收图像以便检查其宽度?
答案 0 :(得分:2)
如果你正在使用flex: 在图像组件上设置渲染事件:
<mx:Image id="theImage" render="yourFunction(event)"/>
在脚本字段中:
private function yourFunction(evt:Event){
var theWidth= (evt.target as Image).width;
}
在即将更新和呈现显示列表时调度任何displayobject时,将调用render事件。
Flash(AS3.0):
//constructor function
public function CustomDisplayObject() {
theImage.addEventListener(Event.RENDER, renderHandler);
}
private function renderHandler(evt:Event):void {
var theWidth:int = evt.width;
}
(仅在flex中测试)
答案 1 :(得分:1)
您应该能够在图像event.creationComplete事件中添加一个事件监听器,以了解它何时完成加载。或者也许是event.progress。我将看一下Image控件上的inherited events,看看哪个有效。