Vorgehensweise: Erstellen von Grafikobjekten zum Zeichnen
Bevor Sie mit GDI+ Linien und Formen zeichnen, Text rendern oder Bilder anzeigen und bearbeiten können, müssen Sie ein Graphics-Objekt erstellen. Das Graphics-Objekt stellt eine GDI+-Zeichenoberfläche dar und ist das Objekt, das zum Erstellen grafischer Bilder verwendet wird.
Es gibt zwei Schritte bei der Arbeit mit Grafiken:
Erstellen eines Graphics-Objekts.
Verwenden des Graphics-Objekts, um Linien und Formen zu zeichnen, Text zu rendern oder Bilder anzuzeigen und zu bearbeiten.
Erstellen eines Grafikobjekts
Ein Grafikobjekt kann auf verschiedene Weisen erstellt werden.
So erstellen Sie ein Grafikobjekt
Empfangen eines Verweises auf ein Grafikobjekt als Teil des PaintEventArgsPaint-Ereignisses eines Formulars oder Steuerelements. Dies ist die gängige Weise, wie Sie einen Verweis auf ein Grafikobjekt erhalten, wenn Sie Code zum Zeichnen für ein Steuerelement erstellen. Ebenso können Sie ein Grafikobjekt auch als Eigenschaft des PrintPageEventArgs-Ereignisses erhalten, wenn das PrintPage-Ereignis für ein PrintDocument behandelt wird.
Oder
Rufen Sie die CreateGraphics-Methode eines Steuerelements oder Formulars auf, um einen Verweis auf ein Graphics-Objekt abzurufen, das die Zeichenoberfläche dieses Steuerelements oder Formulars darstellt. Verwenden Sie diese Methode, wenn Sie auf einem Formular oder Steuerelement zeichnen möchten, das bereits vorhanden ist.
Oder
Erstellen Sie ein Graphics-Objekt aus einem beliebigen Objekt, das von Image erbt. Dieser Ansatz ist nützlich, wenn Sie ein bereits vorhandenes Bild ändern möchten.
Die folgenden Abschnitte enthalten weitere Details zu jedem dieser Prozesse.
PaintEventArgs im Paint-Ereignishandler
Beim Programmieren des PaintEventHandler für Steuerelemente oder der PrintPage für ein PrintDocument wird ein Grafikobjekt als eine der Eigenschaften von PaintEventArgs oder PrintPageEventArgs bereitgestellt.
So rufen Sie einen Verweis auf ein Grafikobjekt aus den PaintEventArgs im Paint-Ereignis ab
Deklarieren Sie das Graphics-Objekt.
Weisen Sie die Variable zu, um auf das als Teil von PaintEventArgs übergebene Graphics-Objekt zu verweisen.
Fügen Sie Code ein, um das Formular oder Steuerelement zu zeichnen.
Im folgenden Beispiel wird gezeigt, wie sie auf ein Graphics-Objekt aus den PaintEventArgs im Paint-Ereignis verweisen:
Private Sub Form1_Paint(sender As Object, pe As PaintEventArgs) Handles _ MyBase.Paint ' Declares the Graphics object and sets it to the Graphics object ' supplied in the PaintEventArgs. Dim g As Graphics = pe.Graphics ' Insert code to paint the form here. End Sub
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics g = pe.Graphics; // Insert code to paint the form here. }
private: void Form1_Paint(System::Object ^ sender, System::Windows::Forms::PaintEventArgs ^ pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics ^ g = pe->Graphics; // Insert code to paint the form here. }
CreateGraphics-Methode
Sie können auch die CreateGraphics-Methode eines Steuerelements oder Formulars verwenden, um einen Verweis auf ein Graphics-Objekt abzurufen, das die Zeichenoberfläche dieses Steuerelements oder Formulars darstellt.
So erstellen Sie ein Grafikobjekt mit der CreateGraphics-Methode
Rufen Sie die CreateGraphics-Methode des Formulars oder Steuerelements auf, auf dem Sie Grafiken rendern möchten.
Dim g as Graphics ' Sets g to a Graphics object representing the drawing surface of the ' control or form g is a member of. g = Me.CreateGraphics
Graphics g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this.CreateGraphics();
Graphics ^ g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this->CreateGraphics();
Erstellen aus einem Bildobjekt (Image)
Zusätzlich können Sie ein Grafikobjekt aus einem beliebigen Objekt erstellen, das aus der Image-Klasse abgeleitet wird.
So erstellen Sie ein Grafikobjekt aus einem Bild (Image)
Rufen Sie die Graphics.FromImage-Methode auf, wobei Sie den Namen der Image-Variable angeben, aus der Sie ein Graphics-Objekt erstellen möchten.
Im folgenden Beispiel wird gezeigt, wie Sie ein Bitmap-Objekt verwenden:
Dim myBitmap as New Bitmap("C:\Documents and Settings\Joe\Pics\myPic.bmp") Dim g as Graphics = Graphics.FromImage(myBitmap)
Bitmap myBitmap = new Bitmap(@"C:\Documents and Settings\Joe\Pics\myPic.bmp"); Graphics g = Graphics.FromImage(myBitmap);
Bitmap ^ myBitmap = gcnew Bitmap("D:\\Documents and Settings\\Joe\\Pics\\myPic.bmp"); Graphics ^ g = Graphics::FromImage(myBitmap);
Hinweis
Sie können nur Graphics-Objekte aus nicht indizierten BMP-Dateien erstellen, z. B. 16-Bit-, 24-Bit- und 32-Bit-BMP-Dateien. Jedes Pixel von nicht indizierten BMP-Dateien enthält eine Farbe, im Gegensatz zu Pixeln indizierter BMP-Dateien, die einen Index für eine Farbtabelle enthalten.
Zeichnen und Bearbeiten von Formen und Bildern
Nachdem ein Graphics-Objekt erstellt wurde, kann es verwendet werden, um Linien und Formen zu zeichnen, Text zu rendern oder Bilder anzuzeigen und zu bearbeiten. Die wichtigsten Objekte, die mit dem Graphics-Objekt verwendet werden, sind:
Die Pen-Klasse: Wird zum Zeichnen von Linien, zum Konturieren von Formen oder zum Rendern anderer geometrischer Darstellungen verwendet.
Die Brush-Klasse: Wird zum Ausfüllen von Grafikbereichen verwendet, z. B. gefüllte Formen, Bilder oder Text.
Die Font-Klasse: Stellt eine Beschreibung der Formen bereit, die beim Rendern von Text verwendet werden sollen.
Die Color-Struktur: Stellt die verschiedenen Farben dar, die angezeigt werden sollen.
So verwenden Sie das Grafikobjekt, das Sie erstellt haben
Arbeiten Sie mit dem oben aufgeführten entsprechenden Objekt, um das Benötigte zu zeichnen.
Weitere Informationen finden Sie in den folgenden Themen:
Zum Rendern von Finden Sie unter Linien Vorgehensweise: Zeichnen einer Linie in Windows Forms Formen Vorgehensweise: Zeichnen der Kontur einer Form Text Vorgehensweise: Zeichnen von Text in einem Windows Form Bilder Vorgehensweise: Darstellen von Bildern mit GDI+
Weitere Informationen
.NET Desktop feedback