Screenshot einer Picturbox

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Screenshot einer Picturbox

    Hallo zusammen,

    ich habe mal eine Frage. Ich möchte auf einer Picturebox mehrere Textboxen setzen. Wenn ich die Picturebox speichere, werden die Textboxen nicht dargestellt (logisch). Wie kann ich ein Screenshot der Picturebox inkl. der Textboxen erstellen? Das Screenshot sollte immer korrekt aufgenommen werden, auch dann, wenn sich die Position meiner Form oder die Größe (min. / max.) meiner Form verändert. Das ist natürlich ein sehr wichtiger Aspekt, da der User die Form jederzeit auf seinem Bildschirm verschieben kann.

    Wie ich Texte per DrawStrings einfüge, weiß ich, ist hier aber nicht von Nutzen für mich. ;)

    Gruß, so27
    Ich weiß nicht ob es Funktioniert, aber vielleicht als Hilfe:

    VB.NET-Quellcode

    1. ​Private Function ScreenshotPictureBox(box As PictureBox) As Bitmap
    2. Dim boxBitmap As New Bitmap(box.Width, box.Height)
    3. Using boxGraphic As Graphics = Graphics.FromImage(boxBitmap)
    4. Using formBitmap As New Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height)
    5. Using formGraphics As Graphics = Graphics.FromImage(formBitmap)
    6. formGraphics.CopyFromScreen(0, 0, 0, 0, formBitmap.Size)
    7. End Using
    8. boxGraphic.DrawImage(formBitmap, New Rectangle(0, 0, box.Width, box.Height), New Rectangle(PointToScreen(box.Location), box.Size), GraphicsUnit.Pixel)
    9. End Using
    10. End Using
    11. Return boxBitmap
    12. End Function