none
DrawCurve bei Visual Basic RRS feed

  • Frage

  • Wie kann ich ein großes Array von Points (3600 Punkte) mit Hile einer For Next-Schleife erstellen?

    Montag, 22. März 2010 14:23

Antworten

  • Hallo HEOB,

    Im folgenden Beispiel wird erstens ein ArrayList mit 3600 PointF Elementen hergestellt und in eine PointF Array umgewandelt. Nachher, die PointF() der Methode DrawCurve als Parameter angegeben. Sicher gibt es noch andere Wege.

    Public Class Form1
    
    
        Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
    
            Dim bluePen As New Pen(Color.Blue, 2)
           
            Dim list As New ArrayList
    
            For i = 1 To 3600
                list.Add(New PointF(Math.Sqrt(i), Math.Sqrt(i)))
            Next i
    
            '//ArrayList zu PointF()
            Dim ptsArray As PointF() = CType(list.ToArray(GetType(PointF)), PointF())
    
            e.Graphics.DrawCurve(bluePen, ptsArray)
    
            bluePen.Dispose()
        End Sub
    
    End Class

    Schau Dir mal den folgenden Link an. Vielleicht kann er Dir auch weiter helfen.

    http://www.codeproject.com/KB/vb/Interpolations.aspx?msg=2378127

    Grüße,

    Robert

    Montag, 22. März 2010 16:27
    Moderator
  • Robert, vielen Dank!

    An solchen Problemen scheitere ich noch. Ich hab früher nur in BASIC programmiert

    und bin ganz begeistert, was mit VB alles möglich ist und wie schnell man ein ansehliches

    Programm schreiben kann.

    Vielen Dank und beste Grüße aus Tirol,

    Helmut

     

     

     

    • Als Antwort markiert HEOB Montag, 22. März 2010 20:34
    Montag, 22. März 2010 16:59

Alle Antworten

  • Hallo HEOB,

    Im folgenden Beispiel wird erstens ein ArrayList mit 3600 PointF Elementen hergestellt und in eine PointF Array umgewandelt. Nachher, die PointF() der Methode DrawCurve als Parameter angegeben. Sicher gibt es noch andere Wege.

    Public Class Form1
    
    
        Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
    
            Dim bluePen As New Pen(Color.Blue, 2)
           
            Dim list As New ArrayList
    
            For i = 1 To 3600
                list.Add(New PointF(Math.Sqrt(i), Math.Sqrt(i)))
            Next i
    
            '//ArrayList zu PointF()
            Dim ptsArray As PointF() = CType(list.ToArray(GetType(PointF)), PointF())
    
            e.Graphics.DrawCurve(bluePen, ptsArray)
    
            bluePen.Dispose()
        End Sub
    
    End Class

    Schau Dir mal den folgenden Link an. Vielleicht kann er Dir auch weiter helfen.

    http://www.codeproject.com/KB/vb/Interpolations.aspx?msg=2378127

    Grüße,

    Robert

    Montag, 22. März 2010 16:27
    Moderator
  • Robert, vielen Dank!

    An solchen Problemen scheitere ich noch. Ich hab früher nur in BASIC programmiert

    und bin ganz begeistert, was mit VB alles möglich ist und wie schnell man ein ansehliches

    Programm schreiben kann.

    Vielen Dank und beste Grüße aus Tirol,

    Helmut

     

     

     

    • Als Antwort markiert HEOB Montag, 22. März 2010 20:34
    Montag, 22. März 2010 16:59