Hallo,
Ich habe mir einen eigenen Panel erstellt, welcher eine opacity von 0.55 enthält. Auf diesem Panel kann ich auch noch per Mausklick zeichnen. Soweit funktioniert alles, nun möchte ich dieses gezeichnete als Bild abspeichern, das heißt den Panel als Bild speichern.
Das sieht so aus:
Nun bekomme ich aber nur ein weißes Bild, obwohl ich vorher dieses Panel bemalt habe.
Der restliche Code:
Ich habe mir einen eigenen Panel erstellt, welcher eine opacity von 0.55 enthält. Auf diesem Panel kann ich auch noch per Mausklick zeichnen. Soweit funktioniert alles, nun möchte ich dieses gezeichnete als Bild abspeichern, das heißt den Panel als Bild speichern.
Das sieht so aus:
Quellcode
- Private Sub btnSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeichern.Click
- Dim bmp As New Bitmap(PbZeichnen.Width, PbZeichnen.Height)
- Dim pfad As String = "***"
- PbZeichnen.DrawToBitmap(bmp, PbZeichnen.ClientRectangle)
- bmp.Save(pfad & "\" & tbBildname.Text, Drawing.Imaging.ImageFormat.Png)
- End Sub
Nun bekomme ich aber nur ein weißes Bild, obwohl ich vorher dieses Panel bemalt habe.
Der restliche Code:
Quellcode
- Private Sub PbZeichnen_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PbZeichnen.MouseDown
- erlaubeZeichnen = True
- lastpoint = e.Location
- Points.Clear()
- Points.Add(e.Location)
- End Sub
- Private Sub PbZeichnen_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PbZeichnen.MouseMove
- Dim bitmap As Bitmap
- bitmap = New Bitmap(PbZeichnen.Width, PbZeichnen.Height)
- If erlaubeZeichnen AndAlso e.Location <> lastpoint Then
- Using g As Graphics = PbZeichnen.CreateGraphics 'Graphics.FromImage(bitmap)
- 'g.FillEllipse(New SolidBrush(Color.AliceBlue), lastpoint.X - 2 \ 2, lastpoint.Y - 2 \ 2, 2, 2)
- g.DrawLine(New Pen(Color.Red, 3.5), lastpoint, e.Location)
- lastpoint = e.Location
- Points.Add(e.Location)
- Me.DoubleBuffered = True
- End Using
- End If
- End Sub
- Private Sub PbZeichnen_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PbZeichnen.MouseUp
- If erlaubeZeichnen Then
- erlaubeZeichnen = False
- End If
- End Sub