ajouter un filigrane aux images C#

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

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#.

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 à l'image C#

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.

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");
}
Ajouter un filigrane diagonal à l'image C#

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.

Voir également