Delphi Teechart - 无需用户交互即可保存图像

时间:2013-08-12 16:24:43

标签: delphi delphi-xe3 teechart

我正在使用Delphi XE3附带的Teechart组件。 我需要有多个图表,然后将它们保存到jpg文件中。 用户可以选择关键字并显示每个图表。

我需要做的是为每个关键字绘制图形然后 将其保存到文件中,无需用户交互。

我尝试了OnAfterDraw事件,然后将图表另存为 图像,然后调用另一个关键字。但是这不起作用 因为当你保存图像时它会回想起OnAfterDraw和我 要么结束无限循环,要么我将事件设置为nil然后 重置它,它再也不会被调用。

有人对如何做到这一点有任何建议吗?

此致 Anthoni

2 个答案:

答案 0 :(得分:1)

您可以尝试调用 TChart.Draw(); 图表以强制在导出之前呈现图表,这样您就不需要使用OnAfterDraw事件了。

答案 1 :(得分:0)

好的,所以我找到了一种方法,但对我来说似乎非常愚蠢。

基本上,我在表单上放置了一个Timer,并将teechart OnAfterDraw事件移动到私有部分。然后我构建我的关键字列表,然后启动计时器。

计时器首先禁用自身,然后在调用程序填写图表信息之前将OnAfterDraw事件添加到TeeChart。

在OnAfterDraw内部我将图表保存为图像,检查是否有更多关键字可用,如果有,重新激活计时器,否则激活我自己的事件。

就像我说的,这有效但不确定它的整体后果。 如果有人对这种方法有任何建议或意见,我会非常谨慎地说明。

此致 Anthoni