agregar marca de agua a las imágenes C#

Las marcas de agua en las imágenes generalmente se usan para reclamar la propiedad del contenido. Por otro lado, las imágenes tienen una marca de agua para evitar el uso no autorizado o la falsificación. En varios casos, es posible que deba automatizar la función de marca de agua dentro de sus aplicaciones web o de escritorio. Para tales escenarios, este artículo cubre cómo agregar una marca de agua a las imágenes mediante programación usando C#. Esto también podría ser útil cuando necesite marcar un lote de imágenes de una sola vez. Vamos a empezar.

API de C# para agregar marcas de agua a las imágenes

Para agregar marcas de agua a las imágenes, usaremos Aspose.Imaging for .NET. Es una poderosa API de procesamiento de imágenes que admite una amplia gama de formatos de imagen. Además, la API facilita la manipulación de las imágenes. Puede descargar archivos binarios de la API o instalarlos mediante NuGet.

PM> Install-Package Aspose.Imaging

Agregar marca de agua a una imagen en C#

Los siguientes son los pasos para agregar una marca de agua a una imagen usando C#.

El siguiente ejemplo de código muestra cómo agregar una marca de agua a una imagen en C#.

// Cargar una imagen PNG existente
using (Image image = Image.Load("image.png"))
{
    // Declarar un objeto String con texto de marca de agua
    string theString = "This is watermark";

    // Cree e inicialice una instancia de la clase Graphics e inicialice un objeto de SizeF para almacenar el tamaño de la imagen
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Crea una instancia de Font, inicialícela con Font Face, Size y Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Cree una instancia de SolidBrush y configure sus diversas propiedades
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Inicializar un objeto de la clase StringFormat y establecer sus diversas propiedades
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Dibuje la cadena en la salida Guardar imagen en el disco
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.jpg");
}
Agregar marca de agua a la imagen C#

Agregar marca de agua diagonal a las imágenes en C#

En varios casos, las marcas de agua se aplican a las imágenes en diagonal. Para esto, Aspose.Imaging for .NET le permite transformar el texto de la marca de agua en un cierto ángulo. Los siguientes son los pasos para agregar una marca de agua diagonal a una imagen.

El siguiente ejemplo de código muestra cómo agregar una marca de agua diagonal a las imágenes usando C#.

// Cargar una imagen PNG existente
using (Image image = Image.Load("Image.png"))
{
    // Declarar un objeto String con texto de marca de agua
    string theString = "45 Degree Rotated Text";

    // Cree e inicialice una instancia de la clase Graphics e inicialice un objeto de SizeF para almacenar el tamaño de la imagen
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Crea una instancia de Font, inicialícela con Font Face, Size y Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Cree una instancia de SolidBrush y configure sus diversas propiedades
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Inicializar un objeto de la clase StringFormat y establecer sus diversas propiedades
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Crear un objeto de la clase Matrix para la transformación.
    Matrix matrix = new Matrix();

    // Primero una traslación luego una rotación                
    matrix.Translate(sz.Width / 2, sz.Height / 2);
    matrix.Rotate(-45.0f);

    // Establecer la transformación a través de Matrix
    graphics.Transform = matrix;

    // Dibuje la cadena en la salida Guardar imagen en el disco
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.png");
}
Agregar marca de agua diagonal a la imagen C#

Obtenga una licencia de API gratuita

En caso de que quiera probar la API sin limitaciones de evaluación, puede obtener una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido cómo agregar una marca de agua a las imágenes usando C#. Además, ha visto cómo transformar el texto de la marca de agua en un ángulo particular. Puede explorar más sobre la API de procesamiento de imágenes de C# usando documentación. En caso de que tenga alguna pregunta o consulta, contáctenos a través de nuestro foro.

Ver también