ZedGraphグラフにデータをプロットし、ユーザーに表示されるグラフを表示/生成せずにファイルとして保存することは可能ですか?たくさんのデータセットを処理してグラフを生成し、アプリケーションの外部で表示できるようにファイルに保存したいと考えています。
これができない場合は、グラフを非表示/最小化された形式で表示し、グラフを保存してウィンドウを閉じ、グラフごとに繰り返すことができますか?
可能です。
ZedGraphコントロールは通常どおり作成および操作しますが、Form.Controls
リストに追加しないでください。たとえば、InitializeComponent()
メソッドで、次のようなコメントを付けます。
this.Controls.Add(this.zedGraphControl);
グラフを保存する方法はいくつかあります
SaveAs()
、グラフコントロールを呼び出します。ダイアログが必要ない場合はGetImage()
、MasterPaneを使用して画像を書き出し、それを保存できます。
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
て使用する必要があることです。