VB.NET GDI+ Matrix Animation

  • VB.NET
  • .NET (FX) 4.0

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von J.Herbrich.

    VB.NET GDI+ Matrix Animation

    Jenni Jenni und Gepriesen sei Ds Rauhe Haus,

    Ich würde gerne ein Visual Basic Control Bauen was genau so funktioniert wie die allerseits bekannte Matrix Animation. Könnt ihr mir helfen?

    Vielen vielen lieben Dank schon mal ♥♥♥
    Genau den Matrix regen. Ich muss es irgendwie mit Visual Basic Rendern. Aber ich habe gerade kein Zugriff auf die Visual Basic Datei in der Hall. (Mark Brede der Arsch). Deswegen muss ich das Grundgerüsst irgendwie vorgekaut bekommen. _:(
    Nööö, vorkauen mag ich nicht, aber einen Stups in die richtige Richtung kannst du gern haben.
    OwnerDrawing

    und auch
    learn.microsoft.com/de-de/dotn…w=netframeworkdesktop-4.8

    Lerne erstmal so zu Zeichnen, dann Transformierst du diese Zeichnung, dann die Anzahl an Zeichnungen erhöhen, das war es schon fast was es dazu zu lernen gibt. Aber gut durchkauen sind große Häppchen.

    PS.
    Nachtisch: Bei CodeProject gibt es ein Konsolen-Project mit Matrixregen, das fand ich damals ganz schnuckelig.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BitBrösel“ ()

    Jenni Jenni,

    Also, Zeichnen ist das kleinste Problem. Es geht zu schnell. Ich kann nicht den Thread blockieren (Schlafen legen) weil dann die ganze GUI einfriert. Also, kann ich das Zeichnen auslagern in einen anderen dem ich dann ja künstlich langsam machen kann

    Hier der Code

    VB.NET-Quellcode

    1. ​Imports System.Drawing
    2. Imports System.Drawing.Design
    3. Imports System.Drawing.Drawing2D
    4. Imports System.Drawing.Text
    5. Imports System.ComponentModel
    6. Imports System.ComponentModel.Design
    7. Imports System.Threading
    8. Public Class MatrixRenderer
    9. ' e.Graphics.DrawString("X", Me.Font, Brushes.Red, New PointF(0, 0))
    10. ' e.Graphics.DrawString("X", Me.Font, Brushes.Red, New PointF(10, 0))
    11. Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
    12. MyBase.OnPaint(e)
    13. For l As Integer = 10 To e.ClipRectangle.Size.Width - 10 Step 10
    14. For c As Integer = 10 To e.ClipRectangle.Size.Width - 10 Step 10
    15. e.Graphics.DrawString(Render, Me.Font, Brushes.Red, New PointF(c + 5, l + 5))
    16. Next
    17. Next
    18. End Sub
    19. Protected Overrides Sub OnResize(ByVal e As System.EventArgs)
    20. MyBase.OnResize(e)
    21. Me.Invalidate()
    22. End Sub
    23. Protected Render As String = "X"
    24. Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
    25. MyBase.OnKeyDown(e)
    26. Try
    27. Select Case e.KeyCode
    28. Case Windows.Forms.Keys.J
    29. Me.Render = "J"
    30. Case Windows.Forms.Keys.H
    31. Me.Render = "H"
    32. End Select
    33. Finally
    34. Me.Invalidate()
    35. End Try
    36. End Sub
    37. End Class


    LG, Jenni