VB.NET 章鱼哥 编程实现获取图片上任一点的RGB值

    摘要:使用Bitmap类中的GetPixel(x,y)函数进行指定点颜色的获取,然后再分别获取R,G,B的值

    新建一个空的窗体应用程序,在窗体Form1中添加一个Picturebox控件,一个Button控件,三个label标签,三个Textbox控件。

   下面是代码,很简单,首先就是选择一个图片,显示在PictureBox控件上

  Private Sub btn_ImportPicture_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ImportPicture.Click

        Dim OpenDialog1 As New OpenFileDialog
        OpenDialog1.Filter = "JPG格式|*.jpg|JPEG格式|*.jpeg|PNG格式|*.png|ICO文件,Gif文件|*.ICO;*gif|所有文件*.*|*.*"
        If OpenDialog1.ShowDialog = DialogResult.OK Then
            Dim Path As String = OpenDialog1.FileName
            PictureBox1.Image = Image.FromFile(Path)

        End If

    End Sub
这就是核心部分了。很简单的。要说明的是使用GetPixel()函数要先把图片转换成BitMap格式的。
  Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        Dim GetColor As Color = CType(PictureBox1.Image, Bitmap).GetPixel(e.X, e.Y)
        txt_B.Text = GetColor.B.ToString
        txt_G.Text = GetColor.G.ToString
        txt_R.Text = GetColor.R.ToString
    End Sub

可以了,任意点击图片上的一点,下面就会显示RGB的值。
技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。