dessiner-texte-image-csharp

Nous voyons ou créons beaucoup d’images pour des informations visuelles. Parfois, vous devez ajouter ou dessiner du texte sur une image de manière à ce que personne d’autre ne puisse modifier ce texte. Le filigrane d’image est l’un des exemples les plus courants. De même, l’étiquetage ou la révision d’images peut également nécessiter de dessiner du texte. Explorons les autres utilisations du dessin de texte sur des images :

Ajouter, insérer ou dessiner du texte formaté sur l’image - Installation de l’API C#

L’API Aspose.Drawing for .NET est une bibliothèque graphique 2D compatible avec le package System.Drawing. Il prend en charge le rendu des rectangles, des courbes, des lignes, du texte et d’autres graphiques sur les images. Il ne dépend d’aucune bibliothèque tierce et peut donc être utilisé dans n’importe quel environnement. Par exemple, il peut également être utilisé pour rendre des graphiques dans Linux ou Azure Functions V2 où la bibliothèque System.Drawing n’est pas prise en charge. Vous pouvez installer Aspose.Drawing pour l’API .NET en le téléchargeant depuis la section Téléchargements, ou via la commande d’installation suivante :

PM> Install-Package Aspose.Drawing

Dessiner du texte en filigrane sur une image existante par programme à l’aide de C#

Le filigrane de texte sur l’image est souvent utilisé pour indiquer la propriété, l’affiliation ou le but de l’image. Vous pouvez ajouter ou dessiner du texte en filigrane sur une image existante en procédant comme suit :

  1. Charger l’image d’entrée existante
  2. Initialiser l’objet de classe Graphics
  3. Définir la mise en forme du texte et le texte
  4. Dessiner du texte
  5. Enregistrer l’image de sortie

Le code suivant montre comment dessiner du texte en filigrane sur une image existante par programmation à l’aide de C# :

// Charger l'image d'entrée existante
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");

// Initialiser l'objet de classe Graphics
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));

// Déclarer le pinceau en spécifiant la couleur
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Définir la police du texte
Font arial = new Font("Arial", 20, FontStyle.Regular);

// Définir le texte
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Dessiner du texte
graphics.DrawString(text, arial, brush, rectangle);

// Enregistrer l'image de sortie
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Dessiner du texte sur une nouvelle image à partir de zéro par programmation en C#

Vous devrez peut-être dessiner du texte au format image à des fins différentes. Par exemple, vous voudrez peut-être empêcher les autres de modifier ou de copier le contenu du texte. Vous devez suivre les étapes suivantes pour dessiner du texte sur une nouvelle image :

  1. Initialiser la nouvelle image à partir de zéro
  2. Initialiser l’objet de classe Brush
  3. Définissez le style de police, la taille, etc.
  4. Dessiner du texte on the image
  5. Enregistrer l’image de sortie

L’extrait de code ci-dessous montre comment dessiner du texte sur une nouvelle image à partir de zéro par programmation à l’aide du langage C# :

// Initialiser la nouvelle image à partir de zéro
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.Clear(Color.FromKnownColor(KnownColor.White));

// Initialiser l'objet de classe Brush
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Définissez le style de police, la taille, etc.
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Dessiner du texte sur l'image
graphics.DrawString(text, arial, brush, rectangle);

// Enregistrer l'image de sortie
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Conclusion

Dans cet article, nous avons appris à ajouter ou à dessiner du texte sur des images. Vous pouvez dessiner un filigrane de texte dans des images existantes ainsi que dans de nouvelles images sans avoir à installer d’application tierce. De plus, vous pouvez traiter de nombreux formats d’image, notamment JPG, PNG, BMP, Icon, Tiff, etc. L’API offre plusieurs fonctionnalités pour traiter les dessins et les graphiques selon vos besoins. Vous pouvez visiter le Example Project que nous avons conçu comme une vitrine pour différents scénarios. N’hésitez pas à nous contacter à tout moment via les forums d’assistance gratuits en cas de problème. Acclamations!

Voir également

Info : Aspose a récemment développé un [Convertisseur de texte en GIF] GRATUIT 1.