Comment : créer des objets graphiques pour le dessin

Mise à jour : novembre 2007

Avant de pouvoir dessiner des traits et des formes, de rendre du texte ou d'afficher et de manipuler des images avec GDI+, vous devez créer un objet Graphics. L'objet Graphics représente une surface de dessin GDI+ et l'objet utilisé pour créer des images graphiques.

Deux étapes sont nécessaires à l'utilisation de graphiques :

  1. Création d'un objet Graphics.

  2. Utilisation de l'objet Graphics pour dessiner des traits et des formes, pour rendre du texte ou pour afficher et manipuler des images.

Création d'un objet Graphics

Un objet Graphics peut être créé de diverses manières.

Pour créer un objet Graphics

  • Recevoir une référence à un objet Graphics dans le cadre de PaintEventArgs de l'événement Paint d'un formulaire ou d'un contrôle. Cette approche est généralement utilisée pour obtenir une référence à un objet Graphics lors de la création du code de peinture d'un contrôle.

    - ou -

  • Appelez la méthode CreateGraphics d'un contrôle ou d'un formulaire afin d'obtenir une référence à un objet Graphics représentant la surface de dessin de ce contrôle ou formulaire. Utilisez cette méthode si vous voulez dessiner sur un formulaire ou un contrôle existant.

    - ou -

  • Créez un objet Graphics à partir de n'importe quel objet héritant de la classe Image. Cette approche est utile si vous voulez modifier une image existante.

    Les sections qui suivent expliquent en détail chacun de ces processus.

PaintEventArgs dans le gestionnaire d'événements Paint

Lorsque vous programmez PaintEventHandler pour des contrôles, un objet Graphics est fourni comme une valeur de PaintEventArgs.

Pour obtenir une référence à un objet Graphics à partir des PaintEventArgs de l'événement Paint

  1. Déclarez l'objet Graphics.

  2. Assignez la variable pour qu'elle référence l'objet Graphics passé dans le cadre de PaintEventArgs.

  3. Insérez le code de peinture du formulaire ou du contrôle.

L'exemple suivant explique comment référencer un objet Graphics à partir de PaintEventArgs de l'événement Paint :

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.
   }

Méthode CreateGraphics

Vous pouvez aussi appeler la méthode CreateGraphics d'un contrôle ou d'un formulaire afin d'obtenir une référence à un objet Graphics représentant la surface de dessin de ce contrôle ou formulaire.

Pour créer un objet Graphics à l'aide de la méthode CreateGraphics

  • Appelez la méthode CreateGraphics du formulaire ou contrôle sur lequel vous voulez rendre des graphiques.

    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();
    

Création à partir d'un objet Image

Une autre solution consiste à créer un objet Graphics à partir de n'importe quel objet dérivé de la classe Image.

Pour créer un objet Graphics à partir d'un objet Image

  • Appelez la méthode Graphics.FromImage, en fournissant le nom de la variable Image à partir de laquelle vous voulez créer un objet Graphics.

L'exemple ci-dessous explique comment utiliser un objet Bitmap :

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);
Remarque :

Vous pouvez créer des objets Graphics uniquement à partir de fichiers .bmp non indexés, tels que des fichiers .bmp 16 bits, 24 bits et 32 bits. Chaque pixel d'un fichier .bmp non indexé contient une couleur, contrairement aux pixels des fichiers .bmp indexés, qui contiennent un index dans une table de couleurs.

Dessin et manipulation de formes et d'images

Une fois l'objet Graphics créé, il peut être employé pour dessiner des traits et des formes, pour rendre du texte ou pour afficher et manipuler des images. Les principaux objets utilisés avec l'objet Graphics sont les suivants :

  • La classe Pen est utilisée pour dessiner des traits, tracer le contour de formes ou rendre d'autres représentations géométriques.

  • La classe Brush est utilisée pour remplir des zones de graphiques, telles que du texte, des images ou des formes remplies.

  • La classe Font décrit les formes à utiliser pour le rendu de texte.

  • La structure Color représente les différentes couleurs à afficher.

Pour utiliser l'objet Graphics que vous avez créé

Voir aussi

Tâches

Comment : rendre des images avec GDI+

Autres ressources

Mise en route de la programmation graphique

Graphiques et dessins dans les Windows Forms

Lignes, courbes et formes