1

コンソールアプリ(またはNTサービス)内からグラフを生成し、ビットマップにエクスポートする方法を探しています。これはバックエンドプロセスであるため、グラフが表示されることはありません。ファイルに保存しました。私のコンソールはこれを複数回並行して実行するため、完全にスレッドセーフである必要があります。

サードパーティのコンポーネントは問題ありませんが、無料の方が良いです:D

ありがとう

4

4 に答える 4

1

GDI +に精通している場合は、メモリ内のビットマップに必要なものを描画してファイルに保存できます。同じファイルを参照したり、複数のスレッドで同じソースデータ参照を渡したりしない限り、問題はありません。これは、コンソールアプリ、Windowsサービス、Webサービスなどでラップできるビットマップを手続き的に生成する方法の簡単な例です。

    Image bmp = new Bitmap(intWidth, intHeight);
    Graphics g = Graphics.FromImage(bmp);
    Rectangle r = new Rectangle(0, 0, intWidth, intHeight);

    g.DrawEllipse(Pens.Red, g.VisibleClipBounds);

    bmp.Save(strFileNameWithPath);

グラフの生成に関しては、数学のスキル、ソースデータの構造、作成するグラフの種類に大きく依存します。すでにこれを行っているライブラリは確かにありますが(Telerikが思い浮かびます)、私は「自分でロールする」種類のコーダーです。:)

于 2012-05-10T16:34:17.710 に答える
1

MS Chartingコンポーネント-無料:

http://archive.msdn.microsoft.com/mschart

于 2012-05-10T16:22:05.437 に答える
0

Excel相互運用機能アセンブリを使用します。チャートに最適で、非常に使いやすいです。チャートに加えることができる多くのカスタマイズと変更もあります。

簡単なチュートリアル:

http://www.dotnetperls.com/excel-chart

これは、必要なアセンブリファイルです。

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel(v=office.11​​).aspx

于 2012-05-10T16:22:28.697 に答える
0

一般的に、問題が発生した場合は、何かを試して質問することをお勧めします。

とは言うものの、チャートを自分でレンダリングしたい(つまり、事前に作成されたチャートパッケージを使用しない)と仮定すると、BitmapクラスとGraphicsクラス、具体的にはGraphics.FromImageをてみます。ビットマップは画像のメモリ内表現であり、Graphicsクラスはそれに描画するためのメソッドを提供します。

于 2012-05-10T16:24:32.143 に答える