使用鼠标 vb.net 在图片框图像上绘制

had*_*des 2 .net vb.net mouse picturebox draw

如何在 vb.net 中使用鼠标在图片框图像上绘制线条或画笔?

Neo*_*isk 5

一个类似的问题从 C#转换为 VB.NET,使用一行 - 测试和工作:

Private _Previous As System.Nullable(Of Point) = Nothing
Private Sub pictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
  _Previous = e.Location
  pictureBox1_MouseMove(sender, e)
End Sub

Private Sub pictureBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseMove
  If _Previous IsNot Nothing Then
    If PictureBox1.Image Is Nothing Then
      Dim bmp As New Bitmap(PictureBox1.Width, PictureBox1.Height)
      Using g As Graphics = Graphics.FromImage(bmp)
        g.Clear(Color.White)
      End Using
      PictureBox1.Image = bmp
    End If
    Using g As Graphics = Graphics.FromImage(PictureBox1.Image)
      g.DrawLine(Pens.Black, _Previous.Value, e.Location)
    End Using
    PictureBox1.Invalidate()
    _Previous = e.Location
  End If
End Sub

Private Sub pictureBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseUp
  _Previous = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)