Créer, charger, remplir et dessiner un bitmap en C#

Un bitmap est utilisé pour créer et stocker des graphiques informatiques. Les images bitmap sont largement utilisées sur les pages Web et les appareils numériques tels que les appareils photo, les smartphones, etc. Les types de fichiers graphiques bitmap les plus courants sont BMP, GIF, PNG et JPEG. Dans cet article, nous allons apprendre à créer un bitmap en C#.

Les sujets suivants seront traités dans cet article :

  1. API C# pour créer, charger, remplir et dessiner un bitmap
  2. Créer un nouveau bitmap à partir de zéro
  3. Créer un bitmap à partir d’un tableau d’octets
  4. Enregistrer le bitmap en tant que fichier image
  5. Dessiner des formes sur Bitmap
  6. Dessiner du texte sur une image bitmap
  7. Remplir un bitmap avec une couleur unie
  8. Charger une image en bitmap
  9. Redimensionner une image existante à l’aide de Bitmap

API C# pour créer, charger, remplir et dessiner un bitmap - Téléchargement gratuit

Pour créer un bitmap, 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

Créer un nouveau bitmap en C#

Nous pouvons créer un nouveau bitmap à partir de zéro en suivant les étapes ci-dessous :

  1. Tout d’abord, créez un nouveau bitmap à l’aide de la classe Bitmap avec la taille et le format spécifiés.
  2. Ensuite, créez un nouvel objet Graphics à partir de l’objet Bitmap à l’aide de la méthode FromImage().
  3. Ensuite, initialisez un objet de classe Pen avec la couleur et la taille spécifiées.
  4. Après cela, appelez la méthode DrawEllipse() pour dessiner une Ellipse avec une taille spécifiée.
  5. Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().

L’exemple de code suivant montre comment créer un nouveau bitmap en C#.

// Cet exemple de code montre comment créer un nouveau bitmap par programme en C#.
// Initialiser l'objet Bitmap
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// Créer un nouveau graphique
Graphics graphics = Graphics.FromImage(bitmap);

// Initialiser un stylo
Pen pen = new Pen(Color.Red, 5);

// Dessiner un rectangle
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));

// Enregistrez le fichier
bitmap.Save(@"C:\Files\Drawings\output.png");
Créer un nouveau bitmap dans CSharp

Créer un nouveau Bitmap en C#

Créer un bitmap à partir d’un tableau d’octets en C#

Nous pouvons créer un bitmap à partir des octets du flux de mémoire en suivant les étapes ci-dessous :

  1. Lire le fichier image dans un tableau d’octets.
  2. Créez une nouvelle instance de MemoryStream à l’aide de l’objet tableau d’octets.
  3. Créez un nouveau bitmap à l’aide de la classe Bitmap avec l’objet MemoryStream.
  4. Enfin, enregistrez l’image à l’aide de la méthode Save().

L’exemple de code suivant montre comment créer un bitmap à partir de Byte Array à l’aide de MemoryStream en C#.

// Cet exemple de code montre comment créer un nouveau bitmap à partir d'octets de flux de mémoire en C#.
// Charger l'image et lire tous les octets
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");

// Créer un flux de mémoire
MemoryStream stream = new MemoryStream(file);

// Créer un nouveau bitmap
Bitmap bitmap = new Bitmap(stream);

// Enregistrez le fichier
bitmap.Save(@"C:\Files\Drawings\output.jpg");

C# Enregistrer le bitmap dans un fichier

Nous pouvons enregistrer une image bitmap dans un fichier dans divers formats de fichiers pris en charge en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de mentionner l’extension de format de fichier de sauvegarde souhaitée lors de la sauvegarde du fichier image à l’aide de la méthode Save(string filename, ImageFormat format) à la dernière étape.

  • Enregistrer un bitmap en tant que fichier BMP
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
  • Enregistrer un bitmap en tant que fichier PNG
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
  • Enregistrer un bitmap en tant que fichier JPG
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
  • Enregistrer un bitmap en tant que fichier GIF
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);

C# Dessiner sur Bitmap

Nous pouvons dessiner diverses formes et images sur un bitmap en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin d’utiliser les méthodes spécifiques à la forme pour dessiner les formes souhaitées.

Nous pouvons dessiner les formes suivantes en utilisant les méthodes spécifiques fournies pour dessiner sur bitmap :

  • Arc : Nous pouvons dessiner un Arc en utilisant la méthode DrawArc().
  • Bézier : Nous pouvons dessiner un Bézier en utilisant la méthode DrawBezier().
  • Une série de splines de Bézier : Nous pouvons dessiner une série de splines de Bézier en utilisant la méthode DrawBeziers().
  • Courbe : Nous pouvons dessiner une forme courbe en utilisant la méthode DrawCurve().
  • ClosedCurve : Nous pouvons dessiner une courbe fermée en utilisant la méthode DrawClosedCurve().
  • Ellipse : Nous pouvons dessiner une Ellipse en utilisant la méthode DrawEllipse().
  • Ligne : Nous pouvons dessiner une ligne en utilisant la méthode DrawLine().
  • Une série de lignes : Nous pouvons dessiner une série de lignes en utilisant la méthode DrawLines().
  • Path : Nous pouvons dessiner un Path en utilisant la méthode DrawPath().
  • Pie : Nous pouvons dessiner un Pie en utilisant la méthode DrawPie().
  • Polygon : nous pouvons dessiner un polygone en utilisant la méthode DrawPolygon().
  • Rectangle : Nous pouvons dessiner un Rectangle en utilisant la méthode DrawRectangle().
  • Une série de Rectangles : Nous pouvons dessiner une série de Rectangles en utilisant la méthode DrawRectangles().

Nous pouvons dessiner les images sur le bitmap en utilisant les méthodes suivantes :

  • Icône : Nous pouvons dessiner l’image représentée par l’icône spécifiée dans la zone spécifiée par une structure Rectangle à l’aide de la méthode DrawIcon().
  • Image : nous pouvons dessiner n’importe quelle image spécifiée en utilisant la méthode DrawImage().

C# Dessiner du texte sur Bitmap

Nous pouvons dessiner n’importe quelle chaîne sur un bitmap en suivant les étapes ci-dessous :

  1. Tout d’abord, créez un nouveau bitmap en utilisant la classe Bitmap avec la taille spécifiée.
  2. Ensuite, créez un nouvel objet Graphics à partir de l’objet Bitmap à l’aide de la méthode FromImage().
  3. Ensuite, définissez un objet de classe Font avec la famille, le style et la taille de police souhaités.
  4. Pendant ce temps, initialisez un objet SolidBrush avec la couleur spécifiée.
  5. Après cela, appelez la méthode DrawString() avec le texte à afficher, les objets Font et Brush comme arguments.
  6. Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().

L’exemple de code suivant montre comment dessiner du texte sur un bitmap en C#.

// Cet exemple de code montre comment dessiner un texte sur un nouveau bitmap par programme en C#.
// Initialiser l'objet Bitmap
Bitmap bitmap = new Bitmap(500,200);

// Créer un nouveau graphique
Graphics graphics = Graphics.FromImage(bitmap);

// Initialiser une police
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);

// Initialiser un pinceau
var brush = new SolidBrush(Color.Red);

// Dessiner un rectangle
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);

// Enregistrez le fichier
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
C# Dessiner du texte sur Bitmap

C# Dessiner du texte sur Bitmap

Remplir un bitmap avec une couleur unie en C#

Nous pouvons remplir un bitmap avec une couleur unie à l’aide d’un rectangle plein et l’enregistrer dans un nouveau bitmap en suivant les étapes ci-dessous :

  1. Tout d’abord, créez un nouveau bitmap en utilisant la classe Bitmap avec la taille spécifiée.
  2. Ensuite, créez un nouvel objet Graphics à partir de l’objet Bitmap à l’aide de la méthode FromImage().
  3. Ensuite, initialisez un objet de classe Rectangle avec l’emplacement et la taille spécifiés.
  4. Après cela, appelez la méthode FillRectangle () avec la couleur du pinceau et le Rectangle.
  5. Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().

L’exemple de code suivant montre comment remplir un bitmap avec une couleur unie à l’aide d’un rectangle en C#.

// Cet exemple de code montre comment créer un nouveau bitmap avec un rectangle rempli en C#.
// Initialiser Bitmap avec la taille spécifiée
Bitmap bitmap = new Bitmap(500, 500);

// Créer un nouveau graphique
Graphics graph = Graphics.FromImage(bitmap);

// Définir un rectangle
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);

// Dessiner un rectangle plein
graph.FillRectangle(Brushes.Gray, ImageSize);

// Enregistrez le fichier
bitmap.Save(@"C:\Files\Drawings\output.png");
C# Dessiner sur Bitmap et Remplir avec Rectangle

C# Dessiner un rectangle sur un bitmap et le remplir avec une couleur

Charger une image dans Bitmap à l’aide de C#

Nous pouvons également charger une image existante dans un bitmap et l’enregistrer en tant que nouveau bitmap en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez une image à l’aide de la classe Bitmap.
  2. Ensuite, créez un nouveau bitmap en utilisant la classe Bitmap avec la taille spécifiée.
  3. Ensuite, créez un nouvel objet Graphics à partir de l’objet Bitmap nouvellement créé à l’aide de la méthode FromImage().
  4. Après cela, appelez la méthode DrawImage() avec les coordonnées de l’image et de l’emplacement comme arguments.
  5. Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().

L’exemple de code suivant montre comment charger une image dans un bitmap à l’aide de C#.

// Cet exemple de code montre comment charger une image dans un bitmap et l'enregistrer en tant que nouveau bitmap.
// Chargez l'image :
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Initialiser Bitmap avec la taille spécifiée
Bitmap bitmap = new Bitmap(1000, 1000);

// Créer un nouveau graphique
Graphics graphics = Graphics.FromImage(bitmap);

// Dessiner l'image à l'emplacement spécifié
graphics.DrawImage(image, 10, 10);

// Enregistrez le fichier
bitmap.Save(@"C:\Files\Drawings\output.png");
Charger une image dans Bitmap à l'aide de CSharp

Charger une image dans Bitmap à l’aide de C#

Comment redimensionner une image à l’aide de Bitmap en C#

Nous pouvons charger et redimensionner une image existante dans un bitmap et l’enregistrer en tant que nouveau bitmap en suivant les étapes ci-dessous :

  1. Chargez une image existante à l’aide de la classe Bitmap.
  2. Créez un nouveau bitmap à l’aide de la classe Bitmap avec l’image chargée et la taille spécifiée.
  3. Enfin, enregistrez l’image de sortie à l’aide de la méthode Save().

L’exemple de code suivant montre comment redimensionner une image existante et l’enregistrer en tant que nouveau bitmap en C#.

// Cet exemple de code montre comment redimensionner une image existante et créer un nouveau bitmap en C#.
// Chargez l'image :
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");

// Créez un nouveau bitmap de la moitié de la taille de l'image chargée :
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));

// Enregistrez le fichier
bitmap.Save(@"C:\Files\Drawings\output.jpg");
Comment redimensionner une image à l'aide de Bitmap en C#

Redimensionner l’image existante à l’aide de C#

Obtenez une licence temporaire gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer Aspose.Drawing for .NET sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris à :

  • créer un nouveau bitmap ;
  • dessinez un rectangle, une ellipse, etc. sur un bitmap ;
  • charger une image existante ;
  • redimensionner une image existante et créer un nouveau bitmap avec une nouvelle taille ;
  • enregistrer une image Bitmap à partir de MemoryStream ou d’un tableau d’octets dans un fichier ;
  • définir une largeur et une hauteur d’un bitmap en C#.

Outre la création d’un nouveau bitmap en C#, vous pouvez en savoir plus sur Aspose.Drawing for .NET à l’aide de 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.

Voir également