Les filigranes dans les images sont généralement utilisés pour revendiquer la propriété du contenu. D’autre part, les images sont filigranées pour éviter toute utilisation non autorisée ou contrefaçon. Dans divers cas, vous devrez peut-être automatiser la fonction de filigrane dans vos applications Web ou de bureau. Pour de tels scénarios, cet article explique comment ajouter un filigrane aux images par programmation à l’aide de C#. Cela peut également être utile lorsque vous devez filigraner un lot d’images en une seule fois. Alors commençons.
- API C# pour ajouter un filigrane aux images
- Ajouter un filigrane à une image en C#
- Ajouter un filigrane diagonal aux images en C#
- Obtenez une licence API gratuite
API C# pour ajouter un filigrane aux images
Afin d’ajouter des filigranes aux images, nous utiliserons Aspose.Imaging for .NET. Il s’agit d’une API de traitement d’image puissante qui prend en charge une large gamme de formats d’image. De plus, l’API vous permet de manipuler plus facilement les images. Vous pouvez soit télécharger les binaires de l’API, soit les installer à l’aide de NuGet.
PM> Install-Package Aspose.Imaging
Ajouter un filigrane à une image en C#
Voici les étapes pour ajouter un filigrane à une image à l’aide de C#.
- Chargez l’image à l’aide de la classe Image.
- Créez une instance de la classe Graphics et initialisez-la avec l’objet Image.
- Définissez la famille, la taille et le visage de la police à l’aide de la classe Font.
- Créez une instance de la classe SolidBrush et définissez ses propriétés telles que la couleur, etc.
- Instanciez la classe StringFormat pour définir l’alignement du texte.
- Ajoutez un filigrane à l’image à l’aide de la méthode Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Enregistrez l’image à l’aide de la méthode Image.Save(String).
L’exemple de code suivant montre comment ajouter un filigrane à une image en C#.
// Charger une image PNG existante
using (Image image = Image.Load("image.png"))
{
// Déclarer un objet String avec Watermark Text
string theString = "This is watermark";
// Créez et initialisez une instance de la classe Graphics et initialisez un objet de SizeF pour stocker la taille de l'image
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Crée une instance de Font, l'initialise avec Font Face, Size et Style
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Créer une instance de SolidBrush et définir ses différentes propriétés
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Initialiser un objet de la classe StringFormat et définir ses différentes propriétés
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Dessinez la chaîne sur la sortie d'enregistrement d'image sur le disque
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.jpg");
}
Ajouter un filigrane diagonal aux images en C#
Dans divers cas, des filigranes sont appliqués aux images en diagonale. Pour cela, Aspose.Imaging for .NET vous permet de transformer le texte du filigrane selon un certain angle. Voici les étapes pour ajouter un filigrane diagonal à une image.
- Chargez l’image à l’aide de la classe Image.
- Créez une instance de la classe Graphics et initialisez-la avec l’objet Image.
- Définissez la famille, la taille et le visage de la police à l’aide de la classe Font.
- Créez une instance de la classe SolidBrush et définissez ses propriétés telles que la couleur, etc.
- Instanciez la classe StringFormat pour définir l’alignement du texte.
- Créez une instance de la classe Matrix et définissez l’angle de transformation.
- Attribuez l’objet Matrix à la propriété Graphics.Transform.
- Ajoutez un filigrane à l’aide de la méthode Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Enregistrez l’image à l’aide de la méthode Image.Save(String).
L’exemple de code suivant montre comment ajouter un filigrane diagonal aux images à l’aide de C#.
// Charger une image PNG existante
using (Image image = Image.Load("Image.png"))
{
// Déclarer un objet String avec Watermark Text
string theString = "45 Degree Rotated Text";
// Créez et initialisez une instance de la classe Graphics et initialisez un objet de SizeF pour stocker la taille de l'image
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Crée une instance de Font, l'initialise avec Font Face, Size et Style
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Créer une instance de SolidBrush et définir ses différentes propriétés
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Initialiser un objet de la classe StringFormat et définir ses différentes propriétés
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Créer un objet de classe Matrix pour la transformation
Matrix matrix = new Matrix();
// D'abord une translation puis une rotation
matrix.Translate(sz.Width / 2, sz.Height / 2);
matrix.Rotate(-45.0f);
// Définir la transformation via la matrice
graphics.Transform = matrix;
// Dessinez la chaîne sur la sortie d'enregistrement d'image sur le disque
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.png");
}
Obtenez une licence API gratuite
Si vous souhaitez essayer l’API sans limitation d’évaluation, vous pouvez obtenir une licence temporaire gratuite.
Conclusion
Dans cet article, vous avez appris à ajouter un filigrane aux images à l’aide de C#. De plus, vous avez vu comment transformer le texte du filigrane selon un angle particulier. Vous pouvez en savoir plus sur l’API de traitement d’image C# à l’aide de documentation. Si vous avez des questions ou des requêtes, contactez-nous via notre forum.