Adicionar marca d'água a imagens em Java

A marca d’água é uma maneira conveniente de proteger o conteúdo e reivindicar os direitos autorais. Ao aplicar uma marca d’água em documentos ou imagens digitais, você pode evitar o uso não autorizado ou roubo. De acordo com isso, este artigo aborda como automatizar o recurso de marca d’água para imagens em aplicativos Java. Particularmente, você aprenderá como adicionar marca d’água a imagens usando Java. Isso pode ser útil especialmente quando você precisa adicionar uma marca d’água a um lote de imagens.

API Java para adicionar marca d’água a imagens

Para adicionar uma marca d’água às imagens, usaremos Aspose.Imaging for Java. É uma API de processamento de imagem que permite manipular uma ampla variedade de formatos de imagem de dentro de seus aplicativos Java. Você pode baixar o JAR da API ou instalá-lo em seus aplicativos baseados em Maven usando as seguintes configurações.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

Adicionar marca d’água a imagens usando Java

A seguir estão as etapas para adicionar uma marca d’água às imagens usando Aspose.Imaging.

O exemplo de código a seguir mostra como adicionar marca d’água a uma imagem usando Java.

// Carregar imagem
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");

// Criar e inicializar uma instância da classe Graphics
Graphics graphics= new Graphics(image);

// Cria uma instância de Font
Font font = new Font("Times New Roman", 16, FontStyle.Bold);

// Crie uma instância do SolidBrush e defina suas propriedades
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);

// Desenhe uma string usando os objetos SolidBrush e Font em um ponto específico
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, new PointF(image.getWidth()-100, image.getHeight()-100));

// Salvar imagem
image.save("watermarked-image.png");

Adicionar marca d’água diagonal a imagens em Java

Em certos casos, a marca d’água é aplicada às imagens na diagonal. Para esses casos, o Aspose.Imaging for Java fornece opções de transformação de marca d’água usando as quais você pode girar a marca d’água. 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 à imagem usando Java.

// Carregar imagem
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");

// Criar e inicializar uma instância da classe Graphics
Graphics graphics= new Graphics(image);

// Cria uma instância de Font
Font font = new Font("Times New Roman", 16, FontStyle.Bold);

// Crie uma instância do SolidBrush e defina suas propriedades
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);

Size sz = graphics.getImage().getSize();
 // Crie um objeto da classe Matrix para transformação
Matrix matrix = new Matrix();

// Primeiro uma translação depois uma rotação                
matrix.translate(sz.getWidth() / 2, sz.getHeight() / 2);             
matrix.rotate(-45.0f);

// Defina a transformação por meio de Matrix
graphics.setTransform(matrix);

// Desenhe uma string usando os objetos SolidBrush e Font em um ponto específico
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, 0, 0);

// Salvar imagem
image.save("watermarked-image.png");

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Conclusão

A marca d’água é usada para proteger documentos e imagens digitais contra uso não autorizado ou ilegal. Para proteger imagens digitais, este artigo abordou como adicionar uma marca d’água a imagens usando Java. Além disso, você viu como aplicar a transformação às marcas d’água. Você pode explorar mais sobre a API de processamento de imagem Java usando a documentação.

Veja também