我有一个在多台服务器上运行 24/7 的后台工作人员。我想让那个工作人员生成一些包含 PNG 或 PDF 的电子邮件,这些电子邮件代表了一些图表系列上的许多数据点,这些数据点绘制在图表上。
为了实现这一点,对要使用的控件或方法有什么建议吗?我们目前拥有 Telerik 的产品套件,如果这有帮助的话
我建议使用 mschart。它包含在 .Net 3.5 和 4 中。这是从 Microsoft 下载示例 VS 解决方案的链接:
http://archive.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591
保存到 png 就像这样简单
chartObject.SaveAs("file.png", ChartImageFormat.Png);
图表对象也可以以各种格式保存到内存流中。
如果这很重要,图表真的可以看起来很棒!
对于一个快速而肮脏的解决方案,为什么不生成可以轻松导入到准备绘制数据的电子表格的 CSV?
更一般地说,我建议您的后端进程不生成图像,而仅在其他地方收集和发送数据。您可以使用rrdtool或石墨来进行收集和绘图。这将允许您拥有一台机器的图表、来自所有服务器的汇总图表等。