La programmation graphique en C# peut sembler plus facile ou plus difficile que vous ne le pensez. Dans cet article, vous apprendrez à créer de superbes graphiques vectoriels par programmation. Que vous créiez des graphiques dans le cadre de votre projet actuel ou comme base de votre propre jeu ou application ! Vous apprendrez à créer facilement de beaux visuels. Commençons!
Les sujets suivants seront traités dans cet article :
- API de programmation graphique vectorielle C#
- La structure d’un graphique vectoriel
- Programmation graphique en C#
- Courbes en programmation graphique
- Polygones et rectangles
- Comment tracer des lignes
- Comment dessiner des chemins
- Dessiner une zone de remplissage
API de programmation graphique vectorielle C# - Téléchargement gratuit
Pour créer de superbes graphiques vectoriels en C#, nous utiliserons l’API Aspose.Drawing for .NET. Il s’agit d’une bibliothèque graphique 2D multiplateforme permettant de dessiner du texte, des géométries et des images par programmation. Il permet de charger, d’enregistrer et de manipuler les formats de fichiers pris en charge.
Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.
PM> Install-Package Aspose.Drawing
La structure d’un graphique vectoriel
Les graphiques vectoriels sont constitués de formes géométriques : lignes, courbes et tracés. Ces objets, avec diverses propriétés telles que la longueur et la couleur, peuvent être manipulés par un programme C#.
Programmation graphique en C#
Nous pouvons peindre ou dessiner différents types de formes, notamment des courbes, des lignes, des rectangles, des régions remplies, des ellipses et des polygones. L’API fournit diverses méthodes pour dessiner ces formes. Nous pouvons créer une variété de graphiques vectoriels différents par programmation en suivant les étapes ci-dessous :
- Créez un objet de la classe Bitmap.
- Initialise un objet de la classe Graphics à partir du bitmap.
- Définissez un objet de classe Pen ou SolidBrush avec les paramètres souhaités.
- Utilisez la ou les méthodes spécifiques à la forme de la classe Graphics pour dessiner la ou les formes souhaitées.
- À la fin, enregistrez l’image.
Voyons maintenant comment effectuer ces étapes en C#.
Courbes en programmation graphique avec C#
Nous pouvons dessiner des arcs, des cercles, des ellipses ou des courbes fermées en utilisant les méthodes suivantes :
- Méthode DrawArc() pour dessiner un arc.
- Méthode DrawEllipse() pour dessiner une ellipse.
- Méthode DrawClosedCurve() pour dessiner une courbe fermée.
- Méthode DrawCurve() pour dessiner une courbe.
Veuillez suivre les étapes ci-dessous pour dessiner une forme incurvée :
- Tout d’abord, créez une instance de la classe Bitmap.
- Ensuite, créez l’objet de classe Graphics à l’aide de la méthode FromImage() à partir de l’objet Bitmap nouvellement créé.
- Ensuite, définissez un objet de classe Pen avec la couleur et la taille spécifiées.
- Après cela, appelez la méthode DrawClosedCurve() pour dessiner une courbe fermée.
- Si vous le souhaitez, répétez les étapes ci-dessus pour ajouter un arc et une ellipse.
- Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().
L’exemple de code suivant montre comment peindre des formes courbes en C#.
// Cet exemple de code montre comment dessiner une courbe fermée, un arc et un cercle.
// Créer une image bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Graphiques initiaux de Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// Définir un stylo à dessiner
Pen penBlue = new Pen(Color.Blue, 4);
// Dessiner une courbe
graphics.DrawClosedCurve(penBlue, new Point[] { new Point(10, 700), new Point(250, 500), new Point(500, 10), new Point(750, 500), new Point(990, 700) });
// Dessiner un arc
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawArc(penRed, 0, 0, 700, 700, 0, 180);
// Dessiner une ellipse
Pen penGreen = new Pen(Color.Green, 2);
graphics.DrawEllipse(penGreen, 10, 10, 500, 500);
// Enregistrer le bitmap au format PNG
bitmap.Save("C:\\Files\\Drawing\\Curves.png");
Polygones et rectangles dans la programmation graphique avec C#
Nous pouvons dessiner des polygones et des rectangles en suivant les étapes mentionnées précédemment. Cependant, nous devons utiliser les méthodes suivantes à l’étape 4 :
- Méthode DrawPolygon() pour dessiner un polygone.
- Méthode DrawRectangle() pour dessiner un rectangle.
L’exemple de code suivant montre comment dessiner des polygones et des rectangles en C#.
// Cet exemple de code montre comment dessiner un polygone et un rectangle.
// Créer une image bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Graphiques initiaux de Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// Définir un stylo à dessiner
Pen penBlue = new Pen(Color.Blue, 4);
// Dessiner un polygone
graphics.DrawPolygon(pen, new Point[] { new Point(100, 100), new Point(500, 700), new Point(900, 100) });
// Dessiner un rectangle
Pen penRed = new Pen(Color.Red, 2);
graphics.DrawRectangle(penRed, 10, 10, 900, 700);
// Enregistrer le bitmap au format PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Lignes dans la programmation graphique en C#
De même, nous pouvons tracer des lignes en suivant les étapes mentionnées précédemment. Cependant, nous devons utiliser la méthode DrawLine() à l’étape 4 pour tracer une ligne.
L’exemple de code suivant montre comment tracer des lignes en C#.
// Cet exemple de code montre comment dessiner une ligne.
// Créer une image bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Graphiques initiaux de Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// Définir un stylo à dessiner
Pen penBlue = new Pen(Color.Blue, 4);
// Tracer des lignes
graphics.DrawLine(pen, 10, 700, 500, 10);
graphics.DrawLine(pen, 500, 10, 990, 700);
// Enregistrer le bitmap au format PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Chemins en programmation graphique avec C#
Dans les graphiques vectoriels, un chemin représente une série de lignes droites lisses définies par un point de départ et d’arrivée, ainsi que d’autres points. Nous pouvons tracer un chemin en suivant les étapes ci-dessous :
- Tout d’abord, créez une instance de la classe Bitmap.
- Ensuite, initialisez l’objet de classe Graphics à partir de l’objet Bitmap nouvellement créé à l’aide de la méthode FromImage().
- Ensuite, définissez un objet de classe Pen avec la couleur et la taille spécifiées.
- Ensuite, créez une instance de la classe GraphicsPath.
- Ensuite, ajoutez des lignes à l’aide de la méthode AddLine().
- Après cela, appelez la méthode DrawPath() avec les objets Pen et GraphicsPath.
- Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().
L’exemple de code suivant montre comment dessiner un chemin en C#.
// Cet exemple de code montre comment dessiner un chemin.
// Créer une image bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Graphiques initiaux de Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// Définir un stylo à dessiner
Pen penBlue = new Pen(Color.Blue, 4);
// Initialiser le chemin des graphiques
GraphicsPath path = new GraphicsPath();
// Ajouter la ligne 1
path.AddLine(100, 100, 1000, 400);
// Ajouter la ligne 2
path.AddLine(1000, 600, 300, 600);
// Ajouter un rectangle
path.AddRectangle(new Rectangle(500, 350, 200, 400));
// Ajouter une ellipse
path.AddEllipse(10, 250, 450, 300);
// Dessiner un chemin
graphics.DrawPath(pen, path);
// Enregistrer le bitmap au format PNG
bitmap.Save("C:\\Files\\Drawing\\Shapes.png");
Remplir la région dans la programmation graphique à l’aide de C#
Nous pouvons dessiner une région de remplissage en suivant les étapes ci-dessous :
- Tout d’abord, créez une instance de la classe Bitmap.
- Ensuite, initialisez l’objet de classe Graphics à partir de l’objet Bitmap nouvellement créé à l’aide de la méthode FromImage().
- Ensuite, créez une instance de la classe GraphicsPath.
- Pendant ce temps, ajoutez un polygone à l’aide de la méthode AddPolygon().
- Ensuite, créez une instance de la classe Region.
- Ensuite, ajoutez un autre objet GraphicsPath et ajoutez un rectangle à l’aide de la méthode AddRectangle().
- Ensuite, appelez la méthode Exclude() pour exclure le chemin interne de la région.
- Ensuite, définissez un objet de classe SolidBrush avec la couleur spécifiée.
- Après cela, appelez la méthode FillRegion() avec les objets SolidBrush et GraphicsPath.
- Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().
L’exemple de code suivant montre comment dessiner une région remplie en C#.
// Cet exemple de code montre comment dessiner une région.
// Créer une image bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Graphiques initiaux de Bitmap
Graphics graphics = Graphics.FromImage(bitmap);
// Ajouter un polygone
path.AddPolygon(new Point[] { new Point(100, 400), new Point(500, 100), new Point(900, 400), new Point(500, 700) });
// Initialiser une région
Region region = new Region(path);
// Chemin graphique interne
GraphicsPath innerPath = new GraphicsPath();
// Ajouter un rectangle
innerPath.AddRectangle(new Rectangle(300, 300, 400, 200));
// Exclure le chemin intérieur
region.Exclude(innerPath);
// Définir un pinceau solide
Brush brush = new SolidBrush(Color.Blue);
// Remplir la région
graphics.FillRegion(brush, region);
// Enregistrer le bitmap au format PNG
bitmap.Save("C:\\Files\\Drawing\\Lines.png");
Obtenez une licence temporaire gratuite
Vous pouvez obtenir une licence temporaire gratuite pour essayer Aspose.Drawing pour .NET sans limitations d’évaluation.
Conclusion
Dans cet article, nous avons appris à :
- créer un nouveau bitmap ;
- dessinez un rectangle, une ellipse, etc. sur un bitmap ;
- tracer des lignes et des chemins ;
- enregistrer une image Bitmap au format PNG en C#.
Outre la programmation graphique en C#, vous pouvez en savoir plus sur Aspose.Drawing pour .NET en utilisant documentation et explorer diverses fonctionnalités prises en charge par l’API. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.