Добавить водяной знак к изображениям в Java

Водяной знак — это удобный способ защиты контента и защиты авторских прав. Применяя водяной знак к цифровым документам или изображениям, вы можете избежать несанкционированного использования или кражи. В соответствии с этим в этой статье рассказывается, как автоматизировать функцию водяных знаков для изображений в приложениях Java. В частности, вы узнаете, как добавлять водяные знаки к изображениям с помощью Java. Это может быть особенно полезно, когда вам нужно добавить водяной знак к пакету изображений.

Java API для добавления водяных знаков к изображениям

Чтобы добавить водяной знак к изображениям, мы будем использовать Aspose.Imaging for Java. Это API обработки изображений, который позволяет вам манипулировать широким спектром форматов изображений из ваших приложений Java. Вы можете либо скачать JAR-файл API, либо установить его в свои приложения на основе Maven, используя следующие конфигурации.

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

Добавить водяной знак к изображениям с помощью Java

Ниже приведены шаги по добавлению водяного знака к изображениям с помощью Aspose.Imaging.

В следующем примере кода показано, как добавить водяной знак к изображению с помощью Java.

// Загрузить изображение
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");

// Создайте и инициализируйте экземпляр класса Graphics.
Graphics graphics= new Graphics(image);

// Создает экземпляр Font
Font font = new Font("Times New Roman", 16, FontStyle.Bold);

// Создайте экземпляр SolidBrush и задайте его свойства.
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);

// Нарисуйте строку с помощью объектов SolidBrush и Font в определенной точке
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, new PointF(image.getWidth()-100, image.getHeight()-100));

// Сохранить изображение
image.save("watermarked-image.png");

Добавить диагональный водяной знак к изображениям в Java

В некоторых случаях водяной знак наносится на изображения по диагонали. Для таких случаев Aspose.Imaging for Java предоставляет параметры преобразования водяного знака, с помощью которых вы можете вращать водяной знак. Ниже приведены шаги по добавлению диагонального водяного знака на изображение.

  • Загрузите файл изображения с помощью класса Image.
  • Создайте объект класса Graphics и инициализируйте его объектом Image.
  • Создайте и инициализируйте объекты Font и SolidBrush.
  • Получить размер изображения в объекте Size.
  • Создайте новый объект Матрица и установите перевод и трансформацию на нужный угол.
  • Используйте метод Graphics.setTransform(Matrix) для установки преобразования водяного знака.
  • Добавьте водяной знак, используя метод Graphics.drawString(String s, Font font, Brush brush, float x, float y).
  • Сохраните изображение с помощью метода Image.save().

В следующем примере кода показано, как добавить диагональный водяной знак к изображению с помощью Java.

// Загрузить изображение
com.aspose.imaging.Image image = com.aspose.imaging.Image.load("image.png");

// Создайте и инициализируйте экземпляр класса Graphics.
Graphics graphics= new Graphics(image);

// Создает экземпляр Font
Font font = new Font("Times New Roman", 16, FontStyle.Bold);

// Создайте экземпляр SolidBrush и задайте его свойства.
SolidBrush brush = new SolidBrush();
brush.setColor(Color.getBlack());
brush.setOpacity(100);

Size sz = graphics.getImage().getSize();
 // Создайте объект класса Matrix для преобразования
Matrix matrix = new Matrix();

// Сначала перевод, потом ротация                
matrix.translate(sz.getWidth() / 2, sz.getHeight() / 2);             
matrix.rotate(-45.0f);

// Установите преобразование через матрицу
graphics.setTransform(matrix);

// Нарисуйте строку с помощью объектов SolidBrush и Font в определенной точке
graphics.drawString("Watermark by Aspose.Imaging for Java", font, brush, 0, 0);

// Сохранить изображение
image.save("watermarked-image.png");

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы попробовать API без ограничений пробной версии.

Вывод

Водяной знак используется для защиты цифровых документов и изображений от несанкционированного или незаконного использования. Чтобы защитить цифровые изображения, в этой статье рассказывается, как добавить водяной знак к изображениям с помощью Java. Кроме того, вы видели, как применить преобразование к водяным знакам. Вы можете узнать больше об API обработки изображений Java, используя документацию.

Смотрите также