Gewusst wie: Manuelles Rendern von gepufferten Grafiken
Aktualisiert: November 2007
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 mit der Darstellung von Oberflächen auf dem Bildschirm verknüpft ist, indem Sie Allocate aufrufen. Mit dieser Methode wird eine BufferedGraphics-Instanz erstellt, die mit einer bestimmten Darstellungsoberfläche verknüpft ist, beispielsweise ein Formular oder ein Steuerelement. Nachdem Sie eine BufferedGraphics-Instanz erstellt haben, können Sie mit der Graphics-Eigenschaft Grafiken in den entsprechenden Puffer zeichnen. 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.
Hinweis: |
---|
Wenn Sie Ihr eigenes Rendering ausführen, nimmt der beanspruchte Speicherplatz zu, wenn auch in geringem Umfang. |
So zeigen Sie gepufferte Grafiken manuell an
Rufen Sie einen Verweis auf eine Instanz der BufferedGraphicsContext-Klasse ab. Weitere Informationen finden Sie unter Gewusst wie: Manuelles Verwalten von gepufferten Grafiken.
Erstellen Sie eine Instanz der BufferedGraphics-Klasse, indem Sie die Allocate-Methode aufrufen. Dies wird im folgenden Codebeispiel dargestellt.
' 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)
// 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);
Zeichnen Sie Grafiken in den Grafikpuffer, indem Sie die Graphics-Eigenschaft festlegen. Beispiel:
' Draws an ellipse to the graphics buffer. myBuffer.Graphics.DrawEllipse(Pens.Blue, Me.DisplayRectangle)
// Draws an ellipse to the graphics buffer. myBuffer.Graphics.DrawEllipse(Pens.Blue, this.DisplayRectangle);
Nachdem Sie alle gewünschten Grafiken in den Grafikpuffer gezeichnet haben, rufen Sie die Render-Methode auf, um den Puffer auf der mit diesem Puffer verknüpften Zeichenoberfläche oder einer angegebenen Zeichenoberfläche darzustellen, wie im folgenden Codebeispiel dargestellt.
' 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)
// 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());
Wenn die Grafiken dargestellt wurden, rufen Sie die Dispose-Methode für die BufferedGraphics-Instanz auf, um Systemressourcen freizugeben.
myBuffer.Dispose()
myBuffer.Dispose();
Siehe auch
Aufgaben
Gewusst wie: Manuelles Verwalten von gepufferten Grafiken