Mehrere Pictureboxen in einem Bild speichern

waswiewo

Erfahrenes Mitglied
Hi Leute,

folgender Code speichert mit ein Bild mit dem Inhalt von p1 (p1 = Panel).

Code:
        Dim Rect_p1 As Rectangle = p1.ClientRectangle

        Using bmp As Bitmap = New Bitmap(Rect_p1.Width, Rect_p1.Height), gfx As Graphics = Graphics.FromImage(bmp)

            gfx.CopyFromScreen(p1.PointToScreen(Rect_p1.Location), New Point(0, 0), bmp.Size)
            bmp.Save("Bilder.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)

        End Using

In dem Panel habe ich 5 Pictureboxen, welche zusammen gesetzt ein Bild ergeben und größer sind, als p1! Im MouseDown-Event hab ich ne Funktion gebastelt, mit der ich diese verschieben kann.

Jetzt speichert mir dieses Rindfich aber nur das, was zu sehen ist (liegt bestimmt an CopyFromScreen, oder PointToScreen). Wie kann ich aber alles komplett speichern?
 
Nein, es liegt daran, dass die Methode genau das tut, was sie tun soll: einen Screenshot des Bildschirminhalts machen (siehe MSDN). PointToScreen rechnet dir nur die Koordinaten um. Du wirst dich nach einer anderen Methode umschauen müssen.
Aber da du ja bereits alle Bilder in PictureBoxen hast, warum verwendest du nicht diese Bilder und fügst sie zu einem großen Bild zusammen?
 
Zurück