我有一个用VB开发的绘图程序。在mousedownevent中,当勾选某个单选按钮时,我希望mousedownevent处理程序获取在带有图像的图片框中单击的所选像素的颜色。我怎么做?感谢。
答案 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和诸如此类的颜色,只需取出整个使用代码。工作正常。