Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie ihre eigenen gepufferten Grafiken verwalten, müssen Sie in der Lage sein, Grafikpuffer zu erstellen und zu rendern. Sie können Instanzen der BufferedGraphics-Klasse erstellen, die den Zeichnungsflächen auf Ihrem Bildschirm zugeordnet sind, indem Sie die Allocate-Methode aufrufen. Diese Methode erstellt eine BufferedGraphics Instanz, die einer bestimmten Renderingoberfläche zugeordnet ist, z. B. einem Formular oder Steuerelement. Nachdem Sie eine BufferedGraphics Instanz erstellt haben, können Sie Grafiken auf den Puffer zeichnen, der durch die Graphics-Eigenschaft dargestellt wird. Nachdem Sie alle Grafikvorgänge ausgeführt haben, können Sie den Inhalt des Puffers auf den Bildschirm kopieren, indem Sie die Render-Methode aufrufen.
Anmerkung
Wenn Sie Ihr eigenes Rendering durchführen, erhöht sich der Speicherverbrauch, obwohl die Erhöhung möglicherweise nur geringfügig ist.
So zeigen Sie gepufferte Grafiken manuell an
Rufen Sie einen Verweis auf eine Instanz der BufferedGraphicsContext-Klasse ab. Weitere Informationen finden Sie unter So verwalten Sie gepufferte Grafiken manuell.
Erstellen Sie eine Instanz der BufferedGraphics Klasse, indem Sie die Allocate-Methode aufrufen, wie im folgenden Codebeispiel gezeigt.
// This example assumes the existence of a form called Form1. BufferedGraphicsContext currentContext; BufferedGraphics myBuffer; // Gets a reference to the current BufferedGraphicsContext currentContext = BufferedGraphicsManager.Current; // Creates a BufferedGraphics instance associated with Form1, and with // dimensions the same size as the drawing surface of Form1. myBuffer = currentContext.Allocate(this.CreateGraphics(), this.DisplayRectangle);
' This example assumes the existence of a form called Form1. Dim currentContext As BufferedGraphicsContext Dim myBuffer As BufferedGraphics ' Gets a reference to the current BufferedGraphicsContext. currentContext = BufferedGraphicsManager.Current ' Creates a BufferedGraphics instance associated with Form1, and with ' dimensions the same size as the drawing surface of Form1. myBuffer = currentContext.Allocate(Me.CreateGraphics, _ Me.DisplayRectangle)
Zeichnen Sie Grafiken auf den Grafikpuffer, indem Sie die eigenschaft Graphics festlegen. Zum Beispiel:
// Draws an ellipse to the graphics buffer. myBuffer.Graphics.DrawEllipse(Pens.Blue, this.DisplayRectangle);
' Draws an ellipse to the graphics buffer. myBuffer.Graphics.DrawEllipse(Pens.Blue, Me.DisplayRectangle)
Wenn Sie alle Zeichnungsvorgänge für den Grafikpuffer abgeschlossen haben, rufen Sie die Render-Methode auf, um den Puffer zu rendern, entweder auf der Zeichnungsoberfläche, die diesem Puffer zugeordnet ist, oder auf einer angegebenen Zeichnungsoberfläche, und zwar wie im folgenden Codebeispiel gezeigt.
// This example assumes the existence of a BufferedGraphics instance // called myBuffer. // Renders the contents of the buffer to the drawing surface associated // with the buffer. myBuffer.Render(); // Renders the contents of the buffer to the specified drawing surface. myBuffer.Render(this.CreateGraphics());
' Renders the contents of the buffer to the drawing surface associated ' with the buffer. myBuffer.Render() ' Renders the contents of the buffer to the specified drawing surface. myBuffer.Render(Me.CreateGraphics)
Rufen Sie nach Abschluss des Renderns von Grafiken die
Dispose
-Methode für die BufferedGraphics Instanz auf, um Systemressourcen freizugeben.myBuffer.Dispose();
myBuffer.Dispose()
Weitere Informationen
.NET Desktop feedback