有谁知道在visual basic 2010中单击图片框控件时获取像素颜色值的方法?
我创建了一个小型绘画应用程序,我在儿童游戏中使用它,但我不希望孩子们在他们正在着色的图像的轮廓上着色。因此,我需要检查图片框中当前单击的像素不是黑色的。
例如在伪代码中
如果颜色不是黑色,那么 允许将像素更改为当前颜色 别的 没做什么 万一
有谁知道在visual basic 2010中单击图片框控件时获取像素颜色值的方法?
我创建了一个小型绘画应用程序,我在儿童游戏中使用它,但我不希望孩子们在他们正在着色的图像的轮廓上着色。因此,我需要检查图片框中当前单击的像素不是黑色的。
例如在伪代码中
如果颜色不是黑色,那么 允许将像素更改为当前颜色 别的 没做什么 万一
这是从 PictureBox 获取像素的一种方法:
Private Function GetColor(pic As PictureBox, X As Integer, Y As Integer) As Color
If pic Is Nothing Then Return Nothing
Using tmp As New Bitmap(pic.ClientSize.Width, pic.ClientSize.Height)
Dim r As New Rectangle(0, 0, tmp.Width, tmp.Height)
Using g As Graphics = Graphics.FromImage(tmp)
g.DrawImage(pic.Image, r, r, GraphicsUnit.Pixel)
End Using
Return tmp.GetPixel(X, Y)
End Using
End Function
就这样称呼它:
Dim col As Color = GetColor(PictureBox1, someX, someY)