Gewusst wie: Erstellen von Graphics-Objekten zum Zeichnen

Aktualisiert: November 2007

Damit Sie mit GDI+ Linien und Formen zeichnen, Text rendern oder Bilder anzeigen und bearbeiten können, müssen Sie zunächst ein Graphics-Objekt erstellen. Das Graphics-Objekt stellt die GDI+-Zeichnungsoberfläche dar und wird zum Erstellen von Grafiken verwendet.

Die Arbeit mit Grafiken erfolgt in zwei Schritten:

  1. Erstellen eines Graphics-Objekts

  2. Verwenden des Graphics-Objekts zum Zeichnen von Linien und Formen, Rendern von Text oder Anzeigen und Bearbeiten von Bildern

Erstellen eines Graphics-Objekts

Es gibt viele Möglichkeiten, ein Graphics-Objekt zu erstellen.

So erstellen Sie ein Graphics-Objekt

  • Rufen Sie im Paint-Ereignis eines Formulars oder Steuerelements einen Verweis auf ein Graphics-Objekt als Bestandteil von PaintEventArgs ab. In der Regel erhalten Sie Verweise auf Grafikobjekte auf diese Art, wenn Sie den Zeichnungscode eines Steuerelements erstellen.

    – oder –

  • Rufen Sie die CreateGraphics-Methode eines Steuerelements oder Formulars auf, um einen Verweis auf ein Graphics-Objekt zu erhalten, das die Zeichnungsoberfläche des betreffenden Steuerelements oder Formulars darstellt. Verwenden Sie diese Methode zum Zeichnen in einem bereits vorhandenen Formular oder Steuerelement.

    – oder –

  • Erstellen Sie ein Graphics-Objekt aus einem beliebigen Objekt, das von Image erbt. Dies ist sinnvoll, wenn ein bereits vorhandenes Bild geändert werden soll.

    In den folgenden Abschnitten werden die einzelnen Verfahren ausführlich erläutert.

PaintEventArgs im Paint-Ereignishandler

Wenn Sie einen PaintEventHandler für Steuerelemente programmieren, wird ein Graphics-Objekt als eines der PaintEventArgs-Argumente bereitgestellt.

So erhalten Sie einen Verweis auf ein Graphics-Objekt aus den PaintEventArgs im Paint-Ereignis

  1. Deklarieren Sie das Graphics-Objekt.

  2. Weisen Sie die Variable zu, mit der auf das als Teil von PaintEventArgs übergebene Graphics-Objekt verwiesen wird.

  3. Fügen Sie Code zum Zeichnen des Formulars oder Steuerelements ein.

Das folgende Beispiel veranschaulicht, wie über PaintEventArgs im Paint-Ereignis auf ein Graphics-Objekt verwiesen wird.

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 zu erhalten, das die Zeichnungsoberfläche des betreffenden Steuerelements oder Formulars darstellt.

So erstellen Sie ein Graphics-Objekt mit der CreateGraphics-Methode

  • Rufen Sie die CreateGraphics-Methode des Formulars oder Steuerelements auf, in dem Grafiken gerendert werden sollen.

    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 Image-Objekt

Graphics-Objekte können außerdem aus allen Objekten erstellt werden, die von der Image-Klasse abgeleitet wurden.

So erstellen Sie ein Graphics-Objekt aus einem Image-Objekt

  • Rufen Sie die Graphics.FromImage-Methode auf, und geben Sie dabei den Namen der Image-Variablen an, aus der ein Graphics-Objekt erstellt werden soll.

Das folgende Beispiel veranschaulicht die Verwendung eines Bitmap-Objekts:

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 Graphics-Objekte nur aus nicht indizierten BMP-Dateien erstellen, z. B. BMP-Dateien mit 16 Bits, 24 Bits und 32 Bits. Jedes Pixel einer nicht indizierten BMP-Datei hat eine Farbe. Pixel von indizierten BMP-Dateien besitzen im Unterschied dazu einen Index zu einer Farbtabelle.

Zeichnen und Bearbeiten von Formen und Bildern

Ein Graphics-Objekt wird zum Zeichnen von Linien und Formen, Rendern von Text oder Anzeigen und Bearbeiten von Bildern eingesetzt. Das Graphics-Objekt wird hauptsächlich mit folgenden Objekten verwendet:

  • Pen-Klasse – Zum Zeichnen von Linien und Konturen von Formen oder zum Rendern anderer geometrischer Darstellungen.

  • Brush-Klasse – Zum Ausfüllen von Grafikbereichen wie gefüllten Formen, Bildern oder Texten.

  • Font-Klasse – Bietet Beschreibungen dazu, welche Formen beim Rendern von Text verwendet werden sollten.

  • Color-Struktur – Entspricht den verschiedenen anzuzeigenden Farben.

So verwenden Sie das erstellte Graphics-Objekt

Siehe auch

Aufgaben

Gewusst wie: Darstellen von Bildern mit GDI+

Weitere Ressourcen

Erste Schritte mit der Grafikprogrammierung

Grafik und Zeichnen in Windows Forms

Linien, Kurven und Formen