获得图片上某点的颜色,主要是用到 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 教程 目录