是否可以在 ZedGraph 图形上绘制数据并将其保存为文件而不显示/生成用户可见的图形?我正在寻找处理大量数据集并生成图形并将其保存到文件中以便在应用程序外部查看。
如果无法做到这一点,是否可以以隐藏/最小化的形式显示图形,保存图形,关闭窗口,然后对每个图形重复?
有可能的。
您像往常一样创建和操作 ZedGraph 控件,但只是不要将其添加到Form.Controls
列表中,例如,在InitializeComponent()
方法中,注释掉如下所示的内容
this.Controls.Add(this.zedGraphControl);
有几种方法可以保存图表
SaveAs()
图形控件。如果你不想要这个对话框,你可以在 MasterPane 上写出图像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
使用它。