Comment : créer des objets graphiques pour le dessin
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 :
Création d'un objet Graphics.
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. De la même façon, vous pouvez également obtenir un objet Graphics en tant que propriété du PrintPageEventArgs lors de la gestion de l'événement PrintPage pour un PrintDocument.
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
Lors de la programmation du PaintEventHandler pour des contrôles ou de PrintPage pour un PrintDocument, un objet Graphics est fourni en tant que l'une des propriétés de PaintEventArgs ou de PrintPageEventArgs.
Pour obtenir une référence à un objet Graphics à partir des PaintEventArgs de l'événement Paint
Déclarez l'objet Graphics.
Assignez la variable pour qu'elle référence l'objet Graphics passé dans le cadre de PaintEventArgs.
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);
Notes
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éé
Utilisez l'objet approprié figurant dans la liste ci-dessus pour dessiner ce dont vous avez besoin.
Pour plus d'informations, consultez les rubriques suivantes :
Pour rendre
Consultez
Lignes
Formes
Texte
Images
Voir aussi
Tâches
Comment : rendre des images avec GDI+
Autres ressources
Mise en route de la programmation graphique