当为图表组件执行dataprovider.refresh()时,它会重绘图表。
如何确定何时重绘图表?
我希望在图表完全绘制时拍摄一张png屏幕截图。
答案 0 :(得分:3)
您应该等到图表完成渲染。在执行重绘逻辑的代码执行后,将调度FlexEvent.UPDATE_COMPLETE
。您可以在下一个屏幕更新中看到重绘图表。请尝试以下代码:
private function someFunc():void
{
//YOU'RE HERE BEFORE CALLING REFRESH
dataprovider.refresh();
chart.addEventListener(FlexEvent.UPDATE_COMPLETE, onUpdate);
}
private function onUpdate(event:FlexEvent):void
{
chart.removeEventListener(FlexEvent.UPDATE_COMPLETE, onUpdate);
callLater(takeScreenshot);
}
private function takeScreenshot():void
{
//TAKE SCREENSHOT LOGIC HERE
}