Grafiken übereinanderlegen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Wulf.

    Grafiken übereinanderlegen

    Hallo Leute,
    Hab diesmal die frage, wie ich mehrere transparente grafiken(.gif & .png) übereinander legen kann, sodass es ungefähr so ist:

    2 liegt über 1
    3 liegt über 2 und 1

    Mit GDI+ soll das gehen, hab aber kein gutes und verständliches codebeispiel gefunden...
    Mit GDI bist du richtig.

    Wenn du im Paint-Event des Formes/Components bist, machst du folgendes, (DoubleBuffered aktivieren)

    VB.NET-Quellcode

    1. e.Graphics.DrawImage(...)


    Das machst du in einer Schleife, so dass du alle Bilder gestapelt hast.

    LG
    Am besten du machst dir ne eigene Klasse mit der X/Y-Koordiante des Bildes und der Höhe/Breite und dem Bild.
    z.B.

    VB.NET-Quellcode

    1. Public Class Bild
    2. Public Property Rect as Rectangle
    3. Public Property Img as Image
    4. Public Sub New(Byval R as Rectangle, Byval I as Image)
    5. Rect = R
    6. Img = I
    7. End Sub
    8. End Class

    Dann erstellstellst du eine Liste mit deinen Bildern

    VB.NET-Quellcode

    1. Dim Liste as New List (of Bild)

    Im Paint event kannst du dann mit einer for each schleife alle bilder durchgehen und an die stelle zeichenen die du willst.
    Das mit dem Verschieben kannst du dann z.B. so machen, dass du im Mouse-Down event abfragst über welchem bild du gerade bist und dann im Mouse-Move event die X/Y Position dieses Bildes ändern.