आकर्षित एक ही लाइनों के साथ एक छवि पर माउस ले जाएँ

0

सवाल

मैं करना चाहते हैं आकर्षित करने के लिए कुछ लाइनों के साथ एक छवि पर माउस का उपयोग कर ले जाने में vb.net. मेरी समस्या यह है कि जब मैं ड्राइंग शुरू, अगली पंक्ति पिछली पंक्ति गायब हो जाता है! कर सकते हैं किसी को भी मेरी मदद? मैं कोड की एक तस्वीर के साथ चलाने के लिए मेरा परियोजना

Dim st, en As New Point
Dim p As Pen
Private mouseButtonPressed As Boolean = False

Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
    p = New Pen(Color.Black, 2)
    Dim g As Graphics = e.Graphics
    g.DrawLine(p, st, en)
End Sub

Private Sub PictureBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseUp
    mouseButtonPressed = False
End Sub

Private Sub PictureBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseMove
    If mouseButtonPressed Then
        PictureBox1.Invalidate()
        en = e.Location
    End If
End Sub

Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
    If e.Button = MouseButtons.Left Then
        st = New Point(e.X, e.Y)
        mouseButtonPressed = True
    End If
End Sub

GIF of my run project

drawing vb.net
2021-11-23 06:07:57
1

सबसे अच्छा जवाब

0

आप स्टोर कर सकते हैं लाइनों की एक सूची में के रूप में वे पूरा कर लिया है, तो आकर्षित पिछले सभी लाइनों जब आप कर रहे हैं ड्राइंग की एक

Private st, en As New Point
Private mouseButtonPressed As Boolean = False

Private lines As New List(Of (st As Point, en As Point))

Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
    Dim p = New Pen(Color.Black, 2)
    Dim g As Graphics = e.Graphics
    g.DrawLine(p, st, en)
    For Each line In lines
        g.DrawLine(p, line.st, line.en)
    Next
End Sub

Private Sub PictureBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseUp
    mouseButtonPressed = False
    lines.Add((st, en))
End Sub

Private Sub PictureBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseMove
    If mouseButtonPressed Then
        PictureBox1.Invalidate()
        en = e.Location
    End If
End Sub

Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
    If e.Button = MouseButtons.Left Then
        st = New Point(e.X, e.Y)
        mouseButtonPressed = True
    End If
End Sub

सूची रखती है Tuple(of Point, Point)

2021-11-23 15:48:51

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में