Actionscript 3 Actionscript—当图像源已更改并完成加载时通知的事件
我正在寻找一个事件,该事件在图像的源属性已更改且图像显示对象已加载新数据后触发。我认为“完成”事件是一个不错的选择,但它似乎会在源代码更改后立即启动,但在图像加载完成之前。在下面的代码片段中,我试图在imgMap被doExport的字节更新后触发imgMap_completeHandlerActionscript 3 Actionscript—当图像源已更改并完成加载时通知的事件,actionscript-3,events,flex4,Actionscript 3,Events,Flex4,我正在寻找一个事件,该事件在图像的源属性已更改且图像显示对象已加载新数据后触发。我认为“完成”事件是一个不错的选择,但它似乎会在源代码更改后立即启动,但在图像加载完成之前。在下面的代码片段中,我试图在imgMap被doExport的字节更新后触发imgMap_completeHandler public function doExport(bytes:ByteArray):void { FlexGlobals.topLevelApplication.addElement(this);
public function doExport(bytes:ByteArray):void
{
FlexGlobals.topLevelApplication.addElement(this);
imgMap.source = bytes;
}
protected function imgMap_completeHandler(event:Event):void
{
var pngEncoder:PNGEncoder = new PNGEncoder();
var snapShot:ImageSnapshot = ImageSnapshot.captureImage(this,0,pngEncoder);
export = snapShot.data;
dispatchEvent(new Event("exportComplete"));
}
<s:Image id="imgMap" complete="imgMap_completeHandler(event)" width="100%" height="100%"/>
您是否尝试过扩展Image类和source方法来实现这一点 您可能只需要在事件结束后创建一个标准事件
public function source(....)
{
[super source...]
dispatchEvent(new Event('Loaded'));
}
希望有帮助 您是否尝试过扩展Image类和source方法来实现这一点 您可能只需要在事件结束后创建一个标准事件
public function source(....)
{
[super source...]
dispatchEvent(new Event('Loaded'));
}
希望有帮助 您是否有名为exportCompletePerhaps INIT的事件/函数可以工作。我不熟悉图像组件,但在许多其他Flash组件中,INIT是在数据更改后触发的事件,并且是可用的。令人费解。从文件上看,这听上去肯定行得通。另一个要尝试的是ready事件,但是从查看BitmapImage.as很多Image.as只是其中的一个包装器来看,似乎在完成之前启动了ready。是否尝试了updateComplete的事件处理程序?是否有名为exportCompletePerhaps INIT的事件/函数可以工作。我不熟悉图像组件,但在许多其他Flash组件中,INIT是在数据更改后触发的事件,并且是可用的。令人费解。从文件上看,这听上去肯定行得通。另一个要尝试的是ready事件,但是从查看BitmapImage.as的大量图像来看。由于它只是一个包装,似乎在完成之前启动了ready。您是否尝试过updateComplete的事件处理程序?