Ich habe Panel und verschiedene Steuerelemente darauf. Ich möchte ein Bild dieses Panels in einer Datei speichern, wie kann ich das tun?
Ich muss etwas wie Screenshot machen, aber ich brauche nur ein Bild von einem bestimmten Panel in meiner Anwendung und ich möchte dies auf Knopfdruck in meiner App tun.
Mit freundlichen Grüßen, Primoz
BEARBEITEN: Ich zeichne auch auf diesem Panel mit diesem Code
%Vor%Aber dann bekomme ich das nicht ins Bild. Warum und wie behebt man das?
EDIT 2:
%Vor%Dies ist mein Zeichencode, um eine benutzerdefinierte Linie in ein Diagramm zu zeichnen. Kannst du mir bitte helfen, es richtig zu machen?
Verwenden Sie die Control.DrawToBitmap () -Methode. Zum Beispiel:
%Vor%Als Reaktion auf Ihre Bearbeitung:
Wenn Sie mit einem Graphics
-Objekt, das von der CreateGraphics
-Methode zurückgegeben wird, auf dem Panel zeichnen, sind Ihre Grafiken nicht permanent. Alles, was Sie auf dem Objekt zeichnen, wird beim nächsten Mal, wenn das Steuerelement neu gezeichnet wird, gelöscht. (Für weitere Informationen zu diesem Thema, siehe: Ссылка und Ссылка )
Wenn Sie die Methode DrawToBitmap
verwenden, wie sie von Hans Passant vorgeschlagen wurde, wird das Steuerfeld neu gezeichnet, wodurch Ihre Zeichnungen verloren gehen.
Wenn Sie jedoch möchten, dass Ihre Zeichnungen dauerhaft sind, müssen Sie die Paint
Ereignis des Panel-Steuerelements. Dieses Ereignis wird jedes Mal ausgelöst, wenn das Steuerelement neu gezeichnet werden muss, und stellt eine Instanz von PaintEventArgs
bereit, die ein Graphics
-Objekt enthält, mit dem Sie permanent auf der Oberfläche des Steuerelements auf die gleiche Weise zeichnen können wie mit Graphics
-Objekt, das von der CreateGraphics
-Methode zurückgegeben wird.
Sobald Sie Ihren Zeichnungscode korrigiert haben, können Sie die Lösung von Hans verwenden.