adicionar marca d'água às imagens C#

As marcas d’água nas imagens geralmente são usadas para reivindicar a propriedade do conteúdo. Por outro lado, as imagens são marcadas com marca d’água para evitar uso não autorizado ou falsificação. Em vários casos, pode ser necessário automatizar o recurso de marca d’água em seus aplicativos da Web ou da área de trabalho. Para esses cenários, este artigo aborda como adicionar marca d’água a imagens programaticamente usando C#. Isso também pode ser útil quando você precisa marcar um lote de imagens com marca d’água de uma só vez. Então vamos começar.

API C# para adicionar marca d’água a imagens

Para adicionar marcas d’água às imagens, usaremos Aspose.Imaging for .NET. É uma poderosa API de processamento de imagem que suporta uma ampla variedade de formatos de imagem. Além disso, a API facilita a manipulação das imagens. Você pode baixar binários da API ou instalá-lo usando NuGet.

PM> Install-Package Aspose.Imaging

Adicionar marca d’água a uma imagem em C#

A seguir estão as etapas para adicionar uma marca d’água a uma imagem usando C#.

O exemplo de código a seguir mostra como adicionar marca d’água a uma imagem em C#.

// Carregar uma imagem PNG existente
using (Image image = Image.Load("image.png"))
{
    // Declare um objeto String com texto de marca d'água
    string theString = "This is watermark";

    // Crie e inicialize uma instância da classe Graphics e inicialize um objeto de SizeF para armazenar a imagem Size
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Cria uma instância de Font, inicializa com Font Face, Size e Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Crie uma instância do SolidBrush e defina suas várias propriedades
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Inicialize um objeto da classe StringFormat e defina suas várias propriedades
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Desenhe a string na saída Image Save to disk
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.jpg");
}
Adicionar marca d'água à imagem C#

Adicionar marca d’água diagonal a imagens em C#

Em vários casos, as marcas d’água são aplicadas às imagens na diagonal. Para isso, o Aspose.Imaging for .NET permite transformar o texto da marca d’água em um determinado ângulo. A seguir estão as etapas para adicionar uma marca d’água diagonal a uma imagem.

O exemplo de código a seguir mostra como adicionar uma marca d’água diagonal a imagens usando C#.

// Carregar uma imagem PNG existente
using (Image image = Image.Load("Image.png"))
{
    // Declare um objeto String com texto de marca d'água
    string theString = "45 Degree Rotated Text";

    // Crie e inicialize uma instância da classe Graphics e inicialize um objeto de SizeF para armazenar a imagem Size
    Graphics graphics = new Graphics(image);
    SizeF sz = graphics.Image.Size;

    // Cria uma instância de Font, inicializa com Font Face, Size e Style
    Font font = new Font("Times New Roman", 20, FontStyle.Bold);

    // Crie uma instância do SolidBrush e defina suas várias propriedades
    SolidBrush brush = new SolidBrush();
    brush.Color = Color.Red;
    brush.Opacity = 0;

    // Inicialize um objeto da classe StringFormat e defina suas várias propriedades
    StringFormat format = new StringFormat();
    format.Alignment = StringAlignment.Center;
    format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;

    // Crie um objeto da classe Matrix para transformação
    Matrix matrix = new Matrix();

    // Primeiro uma translação depois uma rotação                
    matrix.Translate(sz.Width / 2, sz.Height / 2);
    matrix.Rotate(-45.0f);

    // Defina a transformação por meio de Matrix
    graphics.Transform = matrix;

    // Desenhe a string na saída Image Save to disk
    graphics.DrawString(theString, font, brush, 0, 0, format);
    image.Save("watermarked.png");
}
Adicionar marca d'água diagonal à imagem C#

Obtenha uma licença de API gratuita

Caso queira experimentar a API sem limitações de avaliação, você pode obter uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como adicionar marca d’água a imagens usando C#. Além disso, você viu como transformar o texto da marca d’água em um ângulo específico. Você pode explorar mais sobre a API de processamento de imagem C# usando documentação. Caso você tenha alguma dúvida ou pergunta, entre em contato conosco através do nosso fórum.

Veja também