生成和保存ZedGraph图而不在表单上显示

是否可以将数据绘制到ZedGraph图形并将其保存为文件而不显示/生成用户可见的图形? 我正在寻找处理大量数据集并生成图表并将其保存到文件中以便在应用程序之外查看。

如果无法做到这一点,是否可以在隐藏/最小化的表单上显示图表,保存图表,关闭窗口,并重复每个图表?

有可能的。

您像往常一样创建和操作ZedGraph控件,但是不要将它添加到Form.Controls列表中,例如,在InitializeComponent()方法中,注释掉如下所示的内容

 this.Controls.Add(this.zedGraphControl); 

有几种方法可以保存图表

  • 如果要显示SaveAs对话框,请在图形控件上调用SaveAs()
  • 如果您不想要对话框,可以使用MasterPane上的GetImage()写出图像,然后保存:

    。zedGraphControl.MasterPane.GetImage()保存( “TEST.BMP”);

这是一个代码片段,用于创建和保存位图,而无需任何WinForms基础结构:

 var zedGraph = new ZedGraphControl(); // configure ZedGraphControl here using (var g = zedGraph.CreateGraphics()) { zedGraph.MasterPane.ReSize(g, new RectangleF(0, 0, widthPx, heightPx)); } zedGraph.MasterPane.GetImage().Save(Path.Combine(destinationDir, "test.bmp")); 

这甚至可以在没有任何桌面的情况下作为服务运行。 唯一的缺点是你需要引用System.Windows.FormsSystem.Drawing来使用它。