GDI Hintergrund Transparent machen??

  • VB.NET

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

    GDI Hintergrund Transparent machen??

    Hallo Zusammen,
    habe nicht viel Ahnung von GDI, um genau zu sein hab ich grade das erste Tutorial angefangen aber ich brauche GDI jetzt auch nur für einen einzigen Zweck. Deswegen hoffe ich das Ihr mir da helfen könnt.
    Habe eine Klasse erstellt und dieses in meine Form gezogen (per Toolbox)

    Der Code der Klasse sieht so aus:

    VB.NET-Quellcode

    1. Public Class Class1 : Inherits Control
    2. Dim o As Point
    3. Protected Overrides Sub OnMouseMove(e As System.Windows.Forms.MouseEventArgs)
    4. If e.Button = Windows.Forms.MouseButtons.Left Then
    5. o = e.Location
    6. Invalidate()
    7. End If
    8. MyBase.OnMouseMove(e)
    9. End Sub
    10. Protected Overrides Sub OnPaintBackground(pevent As System.Windows.Forms.PaintEventArgs)
    11. 'MyBase.OnPaintBackground(pevent)
    12. End Sub
    13. Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
    14. MyBase.OnPaint(e)
    15. Using b As New Bitmap(Width, Height)
    16. Using g = Graphics.FromImage(b)
    17. g.Clear(BackColor) ' HIER BITTE ACHTEN ---- HIER BITTE ACHTEN ---- DIESE STELLE MEINE ICH ---- BITTE HIER HIN SCHAUEN :D
    18. 'RGB(0.0.0)
    19. Dim myPen1 As New Pen(Color.FromArgb(23, 23, 33))
    20. Dim myPen2 As New Pen(Color.FromArgb(43, 42, 60))
    21. Dim myPen3 As New Pen(Color.FromArgb(58, 57, 80))
    22. g.DrawLine(myPen1, 0, 10, Width, 10)
    23. g.DrawLine(myPen2, 0, 11, Width, 11)
    24. g.DrawLine(myPen3, 0, 12, Width, 12)
    25. g.FillRectangle(Brushes.DarkGray, o.X - CInt(10 / 2), 0, 10, Height)
    26. e.Graphics.DrawImage(b.Clone, 0, 0)
    27. End Using
    28. End Using
    29. End Sub
    30. End Class


    Den Hintergrund der im Code hervorgehobenen (HIER BITTE ACHTEN) Stelle möchte ich gerne Transparent machen, so das man das Background Image meiner Form sieht. Benutze ich: Color.Transparent sehe ich meinen Desktop :huh:
    Wie mache ich das Bild also Transparent?


    Jetzt eine dumme Frage... aber wie gesagt ich hab keine Ahnung von GDI. Kann ich als Grafik ein ganz normales Image aus meinen Ressourcen verwenden und wenn ja wie?
    Wie Ihr im Bild seht möchte ich einen Slider machen. Die Trackbar sieht bis auf das der Hintergrund noch nicht transparent ist super aus...
    Wäre es möglich den Slider Kopf aus einem ganz normalen Bild z.B. PNG zu machen?
    Bilder
    • Unbenannt.PNG

      406,15 kB, 696×298, 292 mal angesehen