1

私のWebサービスは、クライアントにストリーミングされるPDFレポートに追加されるいくつかの折れ線グラフを生成する必要があります。

Webサービスで折れ線グラフを生成するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

サードパーティのコントロールを使用したくない場合は、System.Drawing名前空間を使用できます。

  1. 正しいサイズのビットマップを作成します。32bppargbを使用するのが最適です。これは、GDI+が内部で使用するものだからです。
  2. Graphics.FromBitmapを使用してビットマップからグラフィックスオブジェクトを取得します
  3. graphics.DrawLineなどを使用してグラフィックスオブジェクトに描画します(すべてのメソッドはグラフィックスオブジェクトに文書化されています)
  4. MemoryStreamを作成し、ビットマップをMemoryStreamに保存します。これは、PDF書き込みソフトウェアで使用できます。または、ビットマップをディスクに保存するだけです(これを行うには、ASP.NETにアクセス許可を与える必要があります)。

グラフィックオブジェクトを使い終わったらすぐに破棄することを忘れないでください(ブロックを使用するのが最適です)

Webサービス内からGDI+を使用しているため、描画を行うための要求をシリアル化するためにシングルトンパターンの使用を検討することをお勧めします。

于 2010-04-03T08:26:54.333 に答える
0

こちらのウェブページをご覧ください

ASP.Net での折れ線グラフの描画

次に、page_load からグラフをリクエストしてストリームで返す代わりに、Web サービス関数の 1 つからグラフを返します。

編集

立ち去ってこれについて考えた後、電球が消えました-これを行う(そしてGDI +コードからあなたを削除する)別の方法は、GoogleCharts APIを使用することです.

たとえば、https: //chart.apis.google.com/chart?cht=p3&chd=t:90,10&chs=250x100&chl= Overflow|スタックは次をレンダリングします

代替テキスト

折れ線グラフ

http://code.google.com/apis/chart/docs/gallery/line_charts.html

また、PDF 生成をまだソートしていない場合は、iTextSharp をご覧ください。

于 2010-04-03T08:37:04.103 に答える