事前準備
・フォームにPictureBoxを貼り付け、
DockプロパティをFillにする。
マウスのある点上のRGB情報を読み取り、
フォームのタイトル欄に表示します。
早い処理は必要ないので、LockBitsではなく、GetPixelを使用しました。
Public Class Form1
Private bmp As Bitmap = New Bitmap(“C:\sample.bmp”)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Size = bmp.Size
End Sub
Private Sub Picture_Box(ByVal sender As Object, ByVal e As PaintEventArgs) Handles PictureBox1.Paint
e.Graphics.DrawImage(bmp, 0, 0, PictureBox1.Width, PictureBox1.Height)
End Sub
Private Sub mMove(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseMove
Me.Text = “R:” & bmp.GetPixel(e.X, e.Y).R & ” , G:” & bmp.GetPixel(e.X, e.Y).G & ” , B:” & bmp.GetPixel(e.X, e.Y).B
End Sub
End Class
こんな感じになります。
このくらいの処理だと、LockBitsよりもお手軽で使いやすい
GetPixelで処理した方が楽だと思います。
関連記事
・Bitmap.LockBitsメソッド
・Bitmap.GetPixelメソッド