- ベストアンサー
VB2010で、チャートコントロールをクリックすると、
VB2010で、チャートコントロールをクリックすると、 その部分の色を取得することは出来ないでしょうか。 ご存知の方教えてください。よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
過去の質問等も見ていてもどのようなグラフを描きたいのかが見えてこないが、多分下記の ような事ができればいいのかなと思いチョット試してみました。 グラフ(Chart)上に直接描画すると裏に隠れたりして再描画されると消えてしまうので 消えないようにするには、Bitmap にグラフを取得するようにするか、Chart1_Paint イベントに 書くようにすればいいかと。 1.Chart 上のクリックした位置のカラーを取得してそのカラーで円を描画 (サンプル画像は投稿用に画像を保存した時に描画した円はきえましたが) 2.上記で描画した画像を含めたChart をBitmap として取得してPictureBox 上に表示 (描画した円も消えずにコピー(転送)する事ができます。) Chart で独自の事をやりたいなら MSDN でChart のメンバー一覧をよく見ておいて下さい。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datavisualization.charting.chart_members.aspx 又、グラフィック関係の基本位は押さえておいて下さい。 http://dobon.net/vb/dotnet/graphics/index.html
その他の回答 (2)
- vbhanatyan
- ベストアンサー率79% (70/88)
>直接、チャートコントロールの色を取得すれば、 >同じことができるだろうと思い質問をしました。 http://msdn.microsoft.com/ja-jp/library/system.drawing.bitmap.getpixel(VS.80).aspx 後は、ご自分で調べて試して下さい。
- vbhanatyan
- ベストアンサー率79% (70/88)
>VB2010で、チャートコントロールをクリックすると、 >その部分の色を取得することは出来ないでしょうか。 出来ますけど、それを教えても次のステップを実行する事ができますか? 又、そこで質問するのですか? これだけ次から次へと質問してばかりでは、失礼ですが無理かと思いますよ。 質問するにしても何をどのようにしたいのかを具体的に書くようにしないと。 (色を取得する事だけが最終目的ではないでしょう。)
お礼
回答ありがとうございます。 ピクチャーボックスにグラフを描画して、 クリックして色を取得し、 選択した折れ線グラフにカーソルを移動し、 カーソル部分の座標値を表示させることができました。 直接、チャートコントロールの色を取得すれば、 同じことができるだろうと思い質問をしました。 チャートコントロールは、vbhanatyanさんが以前紹介してくださったページで、 使い勝手がよかったもので。
お礼
とてもよい回答ありがとうございます。 グラフィックの基本サイト助かります。 グラフの説明ですが、 ピクチャーボックスに描画しマウスムーブイベントで、 マウスカーソルのX座標(データ値)に対応した、Y座標(データ値)を表示するものを作りました。 円カーソルが折れ線グラフ上を移動していきます。 別の折れ線グラフをクリックすると、その折れ線グラフに円カーソルが移ります。 チャートコントロールの使い勝手がよいので、 ピクチャーボックスの代わりに使用して描画しようとしています。 あれこれ試しましたが、 ピクチャーボックスにチャートグラフをキャプチャーして貼り付け、 ピクチャーに円を描画することにしました。 現在、プロットエリア範囲の取得をいろいろと試しています。