生成和保存ZedGraph图而不显示在表单上
本文关键字:显示 表单 保存 ZedGraph | 更新日期: 2023-09-27 18:01:24
是否有可能将数据绘制到ZedGraph图形并将其保存为文件,而不显示/生成对用户可见的图形?我希望处理大量的数据集,并生成一个图形,并将其保存到一个文件,以便在应用程序外查看。
如果不能这样做,是否有可能以隐藏/最小化的形式显示图形,保存图形,关闭窗口,并对每个图形重复?
这是可能的。
您像往常一样创建和操作ZedGraph控件,但只是不将其添加到Form.Controls
列表中,例如,在InitializeComponent()
方法中,注释掉如下所示的
this.Controls.Add(this.zedGraphControl);
有几种保存图形的方法
- 如果你想显示一个保存对话框,在图形控件上调用
SaveAs()
。 如果你不想要这个对话框,你可以在母版面板上使用
GetImage()
将图像写出来,然后保存:zedGraphControl.MasterPane.GetImage () .Save("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.Forms
和System.Drawing
来使用它。