- PR -

ASP.NETで自作グラフを表示させたい。

投稿者投稿内容
ぷーやん
会議室デビュー日: 2004/06/16
投稿数: 8
投稿日時: 2004-06-28 15:43
こんにちは。はじめて書き込みします。.NETただいま勉強中です。
今Webアプリケーションでグラフを表示させたいと思っています。
しかし、Web.UIコントロールにはグラフを生成するために
必要なメソッド(graphics.drawLineなど)は用意されていないように思います。
普通、Webアプリケーションにて表示するグラフはどのようにして製作すればいいのでしょうか。grapecity社のWebChartなどはどのような仕組みになっているんでしょうか。
あのような複雑なものは作れないにしても、考え方としてどのようになっているのか知りたいのです。自分で勉強しなさいと言われればそれまでなのですが、何かヒントをください。よろしくお願いします。
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2004-06-28 15:50
ビットマップを作って、そのグラフィックに描画して、
画像ファイルに保存して、その画像ファイルをIMGでリンクすれば
できるのではないでしょうか。
コード:
Bitmap	b = new Bitmap(width,height);
Graphics g = Graphics.FromImage(b);
ここで描画
b.Save(Server.MapPath("test.gif"),ImageFormat.Gif);

ぷーやん
会議室デビュー日: 2004/06/16
投稿数: 8
投稿日時: 2004-06-28 16:15
catsさん、早急な応答、感謝します。
そういえばgrapecity社のWebChartもイメージファイル保存場所を指定したりするプロパティがあったように思います。
(しかし、WebChartはプロパティの設定がややこしく、ヘルプを見てもまったく理解できないため、断念。使えるなら使いたいけれど)
今からサンプル作ってやってみます。ありがとうございました。
ぷーやん
会議室デビュー日: 2004/06/16
投稿数: 8
投稿日時: 2004-06-28 17:45
またもや質問です。
Windowsアプリケーションにて、Labelを貼り付け、そのgraphicsオブジェクトにdrawLineなどをしたあと、そのgraphicsに書かれているイメージをファイルに保存するなんてことはできるのでしょうか。先ほどcatsさんに教えていただいた方法だと、保存されたファイルは真っ黒なイメージでした。今動かしているWindowsアプリケーションのラベルに書かれたイメージそのままを保存したいのです。
ご教示のほど、よろしくお願いします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-06-28 18:33
描画する前に、Graphics#Clear()で初期化してから、描画してみるとか
コード:
Bitmap	b = new Bitmap(width,height);
Graphics g = Graphics.FromImage(b);

// たとえば、白で初期化
g.Clear(Color.White);

// 次いで、描画
b.Save(Server.MapPath("test.gif"),ImageFormat.Gif);


いのつち
ベテラン
会議室デビュー日: 2002/05/14
投稿数: 73
投稿日時: 2004-06-28 18:57
こちらでもアクティブなMVPの方のページです。
22.サーバ上で画像を生成して表示する
ここなんかが参考になると思います。

画像(グラフ)を表示するだけのページと、
イメージタグのsrcプロパティをその画像ページとして指定することで実現できます。

画像ページには、QueryStringかSessionなどの値で制御させればいいでしょう.
ぷーやん
会議室デビュー日: 2004/06/16
投稿数: 8
投稿日時: 2004-06-28 19:06
かずくんさん、いのつちさん、ありがとうございます。
かずくんさんのやり方で画像が表示されるようになりました。
ただし、これはWindowsアプリケーションでグラフイメージを生成したあとイメージを保存し、それをWebアプリケーション側で表示させるというものでした。
いのつちさんが紹介してくださったやり方ならASP.NETだけで実現できそうですね。試してみます。ありがとうございました。
nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-06-29 10:32
こんにちは。
うちの開発でも独自にWebでのグラフコントロールを作成しましたが、参考にしたのは下記URLのサンプルです。

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=d64767cf-4937-4ec1-a2ff-d238b070db04

このサンプル、グラフの描画エンジンが独立しているためWeb、WindowsForm共に使えるようになっています。
Webの場合、画像の保存先はキャッシュです。グラフを表示する画面では、サーバーサイドでキャッシュに画像を生成し、最終的にクライアントサイドのIMGタグで、そのキャッシュから画像が取得されることになります。グラフコントロールを貼り付けた専用のWebFormが必要ですが、grapecity社のWebChartもそんな仕組みになっていたような。
(たぶん。自分で作ってないんで、作った人から聞いた話ではそんなニュアンスだったような)

スキルアップ/キャリアアップ(JOB@IT)