我使用的是Delphi XE3附带的Teechart组件。我需要有多个图形,然后将它们保存到jpg文件中。用户可以选择一个关键字并显示每个图形。
我需要做的是为每个关键字绘制图形,然后将其保存到文件中,无需用户交互。
我尝试了OnAfterDraw事件,然后将图表另存为图像,然后调用另一个关键字。但是这不起作用因为当你保存图像时,它会调用OnAfterDraw和我要么结束一个无休止的循环,要么如果我将事件设置为零,然后重新设置,它再也不会被调用。
有人对如何做这件事有什么建议吗?
问候Anthoni
您可以尝试调用TChart.Draw()图表,以在导出之前强制渲染图表,这样您就不需要使用OnAfterDraw事件。
好的,所以我找到了一种方法,但对我来说似乎很笨拙。
基本上,我在表格上放了一个计时器,并将发球台OnAfterDraw活动移到了私人部分。然后我建立我的关键字列表,然后启动计时器。
计时器首先禁用自身,然后在调用过程填充图表信息之前,将OnAfterDraw事件添加到TeeChart。
在OnAfterDraw中,我将图表保存为图像,检查是否还有其他关键字可用,如果有,请重新激活计时器,否则触发我自己的事件。
正如我所说,这是有效的,但不确定它的整体影响。如果有人对这种方法有任何建议或意见,我会非常专业。
问候Anthoni