Добавить новый слой в PSD в Java

Популярное приложение Adobe Photoshop использует PSD (документ Photoshop) в качестве собственного формата файла изображения. Файл PSD может содержать несколько слоев для создания логотипов, брошюр и других изображений. В некоторых случаях нам может понадобиться программно манипулировать файлами PSD. В этой статье мы узнаем, как добавить новый слой в PSD в Java.

В этой статье должны быть раскрыты следующие темы:

  1. Java PSD API для добавления новых слоев
  2. Добавить новый слой в PSD
  3. Добавить новый текстовый слой в PSD

Java PSD API для добавления новых слоев

Для создания новых слоев в файлах PSD мы будем использовать API Aspose.PSD for Java. Он поддерживает создание, редактирование или управление PSD и несколькими другими поддерживаемыми форматами файлов.

Класс PsdImage API позволяет загружать, редактировать и сохранять файлы PSD. Он также предоставляет функции для обновления свойств, добавления водяных знаков, выполнения графических операций или преобразования одного формата файла в другой.

Метод PsdImage.AddRegularLayer позволяет добавить новый обычный слой. Метод AddTextLayer(string, Rectangle) класса PsdImage добавляет новый текстовый слой в PSD.

Пожалуйста, либо загрузите JAR-файл API, либо добавьте следующую конфигурацию pom.xml в приложение Java на основе 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-psd</artifactId>
    <version>21.7</version>
</dependency>   

Добавить новый слой в PSD с помощью Java

Мы можем добавить новый слой в файл PSD, выполнив следующие шаги:

  1. Во-первых, загрузите PSD-файл как PsdImage, используя класс Image.
  2. Затем подготовьте объект для добавления, например Rectangle.
  3. Затем вызовите метод addRegularLayer().
  4. При необходимости задайте положение слоя, например «Сверху», «Слева», «Справа» и «Снизу».
  5. После этого назначьте объект слою с помощью метода saveArgb32Pixels().
  6. Наконец, сохраните выходной файл, используя метод save().

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

// В этом примере кода показано, как создавать новые слои в PSD-файле.
String sourceFileName = "C:\\Files\\OneLayer.psd";
String exportPath = "C:\\Files\\AddNewLayer.psd";

// Загрузите существующий PSD
PsdImage im = (PsdImage)Image.load(sourceFileName);

// Подготовка двух массивов int
int[] data1 = new int[2500];
int[] data2 = new int[2500];

// Определение прямоугольников
Rectangle rect1 = new Rectangle(0, 0, 50, 50);
Rectangle rect2 = new Rectangle(0, 0, 100, 25);

for (int i = 0; i < 2500; i++)
{
    data1[i] = -10000000;
    data2[i] = -10000000;
}

// Добавить слой 1
Layer layer1 = im.addRegularLayer();
layer1.setLeft(25);
layer1.setTop(25);
layer1.setRight(75);
layer1.setBottom(75);
layer1.saveArgb32Pixels(rect1, data1);

// Добавить слой 2
Layer layer2 = im.addRegularLayer();
layer2.setLeft(25);
layer2.setTop(150);
layer2.setRight(125);
layer2.setBottom(175);
layer2.saveArgb32Pixels(rect2, data2);

// Сохранить PSD
im.save(exportPath);
Добавить-новый-слой-в-PSD-программно-используя-Java

Программно добавить новый слой в PSD с помощью Java

Добавить новый текстовый слой в PSD с помощью Java

Мы можем добавить новый текстовый слой в файл PSD, выполнив следующие шаги:

  1. Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
  2. Затем определите прямоугольник.
  3. Затем вызовите метод addTexLayer(). Он принимает текстовый ввод и прямоугольный объект в качестве аргументов.
  4. После этого установите положение слоя, например, сверху, слева, справа и снизу.
  5. Наконец, сохраните выходной файл, используя метод save().

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

// В этом примере кода показано, как создавать новые слои в файле изображения PSD.
String sourceFileName = "C:\\Files\\sample.psd";
String exportPath = "C:\\Files\\AddTextLayer.psd";

// Загрузите существующий PSD
PsdImage im = (PsdImage)Image.load(sourceFileName);

// Добавьте текстовый слой
Rectangle rect = new Rectangle(20, 20, 100, 30);
TextLayer layer = im.addTextLayer("Welcome!", rect);

// Установить положение слоя
layer.setLeft(10);
layer.setTop(25);

// Сохранить PSD
im.save(exportPath);
Добавить-новый-текстовый-слой-в-PSD-с помощью-Java

Программно добавить новый текстовый слой в PSD с помощью Java

Получить бесплатную временную лицензию

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

Вывод

В этой статье мы узнали, как:

  • создать новое PSD-изображение;
  • создайте новый обычный слой;
  • вставьте текстовый слой в PSD, используя Java.

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

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