• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2010で、クリックした部分のカラー名を取得したいのですが、どなた)

VB2010でクリックした部分のカラー名を取得する方法

このQ&Aのポイント
  • VB2010でクリックした部分のカラー名を取得する方法について教えてください。
  • PictureBoxに描画された折れ線グラフの中からクリックされた系列の色を取得したいです。
  • 現在は色の比較を行っていますが、うまくいきません。どのような方法で実現できるでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • cotae_bb
  • ベストアンサー率53% (51/95)
回答No.2

色名を取得したいということでしたか、失礼しました。 ↓このように変更すれば取得できるようです。 前の回答では"255,255,255,255"でしたが、 これだと"White"と表示されます。 Private Sub PictureBox1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick   Dim bmp As Bitmap = New Bitmap(Me.PictureBox1.Image)   Dim col As Color = Nothing   col = bmp.GetPixel(e.X, e.Y)   col = ColorTranslator.FromHtml("0x" & col.Name)   MsgBox(col.Name) End Sub Name値でARGBが帰ってくるのでそれに0xを付加することでカラーコードのように扱えるようです。 Aはなくてもいいかもれません。 参考にしたURLを貼っておきます http://www.atmarkit.co.jp/fdotnet/dotnettips/239colorconv/colorconv.html

ddtqp
質問者

お礼

度々ご回答ありがとうございます。 ばっちりです!助かりました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • cotae_bb
  • ベストアンサー率53% (51/95)
回答No.1

>Dim X, Y As Long これ初期化されていませんが実際のプログラムでは初期化されていますか? とりあえずこんな感じで色が取得できましたので、 後の処理はddtqpさんの処理でもできますね Public Class Form1   'ロードイベント   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load     'ビットマップ割り当て     PictureBox1.Image = New Bitmap(PictureBox1.Size.Width, PictureBox1.Size.Height)     '初期化     Graphics.FromImage(PictureBox1.Image).Clear(Color.White)   End Sub   Private Sub PictureBox1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick     '取得     Dim bmp As Bitmap = New Bitmap(Me.PictureBox1.Image)     Dim col As Color = Nothing     'クリックしたピクセルの色情報を取得     col = bmp.GetPixel(e.X, e.Y)     'ARGB値を表示     MsgBox(String.Format("{0},{1},{2},{3}", col.A, col.R, col.G, col.B))     '自分がテストした時は"255,255,255,255"と表示されましたよ   End Sub End Class ↓MicroSoftが画像処理に関するページを用意してくれていますね~ http://msdn.microsoft.com/ja-jp/academic/cc998604.aspx こちらはPictureBoxの使い方とかです。.NET関係はだいたい載ってます。便利ですね http://dobon.net/vb/dotnet/graphics/pictureboximageanddrawimage.html

ddtqp
質問者

お礼

回答ありがとうございます。 すみません。質問の仕方が悪かったです。 クリックした部分のカラー名を取得したいのです。 クリックすると、メッセージボックスに「color.red」と表示させることは出来ないでしょうか。 ご存知でしたら教えてください。 よろしくお願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A