分類:[.NET]いつもお世話になっております。今回はまったく逆の意味なのですが、設定して図形を描くのではなく画像(フルカラーや256色)からピクセルの取得をしたいと思っています。良く市販ソフトなどで見るのですが、カラー見本みたいにFormにBMP保存されている画像の上をマウスで通過している際に、別のPictureBoxにてマウス直下の色が表示されていると言うものです。PictureBox1_MouseHover上で行うと言う事と、PictureBox1のマウスのX,Y座標が必要なのは察しがついたのですが。取得方法がわかりません。自己レスですみません。GetPixelを使用すると色を取得できると思われるのですが。PictureBox1とPictureBox2を作成して、PictureBox1へBITMAP画像を貼り付け、その画像の上をマウスが通過した際に、マウス直下の色をPictureBox2へ表示すると言うものです。SubなおMOUSE_X,MOUSE_Yは変数として使用していますが、GetPixelを実行しようとすると下記エラーメッセージが表示されます。使用されたパラメータが無効です。--------------------------------------------------となります。パラメーターが無効なのかわかりません。どこがいけないのでしょうか?よろしくお願いいたします。21:20:50この記事への返信:(なし)ツリーを表示Me.MousePosition.XMe.MousePosition.Yが返すのは、画面座標(1024*768とかの領域での座標)で、myBitmap.GetPixel()が要求しているのは、画像上の座標。画像サイズより大きなx,yを渡してしまっている。MOUSE_Y)イベントの引数eのe.X、e.Yを使えばよいかと。23:19:29)■No377に返信(よねKENさんの記事)いつもお世話になっております。ピラルク様、よねKEN様。ピラルクさんの言っておられた件について、Me.MousePosition.XMe.MousePosition.Yで取得した値をLabelを貼り付け、値を検証してみると、とんでもない数値でびっくりいたしました。このアプリケーション。勝手ながらこのアプリケーションのマウスの座標と勘違いしてしまいました。それでよねKENさんの言われたとおりe.Xとe.Yを使用してローカル座標?を取得することができました。System.Windows.Forms.MouseEventArgsと言う事で、マウスの事を取得する意味だったとわかりました。よってローカル座標に変えた所、問題なく動作いたしました。ありがとうございました。