制作用于在visual basic中绘制程序的颜色选择器/滴管工具?

时间:2015-08-21 05:54:53

标签: vb.net

我有一个用VB开发的绘图程序。在mousedownevent中,当勾选某个单选按钮时,我希望mousedownevent处理程序获取在带有图像的图片框中单击的所选像素的颜色。我怎么做?感谢。

2 个答案:

答案 0 :(得分:1)

如果您创建了一个Bitmap对象并将其指定给PictureBox的图像,则可以使用GetPixel方法从指定点获取像素的颜色。

Dim PickedColor As Color
Private Sub PictureBox1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
    PickedColor = DirectCast(PictureBox1.Image, Bitmap).GetPixel(e.X, e.Y)
End Sub

答案 1 :(得分:0)

当然,我设置了插值模式,因为这是一个像素编辑器,需要基本着色的视频游戏8位设计和抗锯齿不是我需要的,所以这个修复它。

Dim COLOR1 as color
                    Dim x As Integer = 0
                    Dim y As Integer = 0
                    Dim Image1 As New Bitmap(picturebox1.Image, picturebox1.Width, picturebox1.Height)

                    Using g As Graphics = Graphics.FromImage(Image1)
                        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor
                        g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half
                        g.DrawImage(BackgroundImage1, 0, 0, Image1.Width, Image1.Height)
                    End Using

                    For x = 0 To picturebox1.Width
                    Next
                    For y = 0 To picturebox1.Height
                    Next
                    COLOR1 = New Bitmap(Image1).GetPixel(e.X, e.Y)
                    ColorDialog2.Color = COLOR1
                    PictureBox3.BackColor = COLOR1

但是如果你想要这个没有插值像素模式的颜色选择器,那么你可以选择jpegs和诸如此类的颜色,只需取出整个使用代码。工作正常。