获得图片上某点的颜色,主要是用到 Bitmap.GetPixel 方法。
Public Function GetPixel ( x As Integer, y As Integer ) As Color
x,y 分别表示的是图片上某点的横轴坐标和纵轴坐标。
看下面的例子,窗体上创建两个Picturebox和4个Label:
主要代码:
Private Sub picColor_MouseClick(sender As Object, e As MouseEventArgs) Handles picColor.MouseClick
'创建一个Bitmap对象
Dim pImage As Bitmap = New Bitmap(picColor.Image)
Dim pColor As Color
'使用GetPixel()获得图片上鼠标点击处的颜色.
pColor = pImage.GetPixel(e.X, e.Y)
lblR.Text = pColor.R.ToString '对应红色分量
lblG.Text = pColor.G.ToString '对应绿色分量
lblB.Text = pColor.B.ToString '对应蓝色分量
'在picPickColor显示颜色
picPickColor.BackColor = pColor
End Sub
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'载入图片
picColor.Image = Image.FromFile(Application.StartupPath & "\1.jpg")
End Sub
运行结果:
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录