Популярное приложение Adobe Photoshop использует PSD (документ Photoshop) в качестве собственного формата файла изображения. Файл PSD может содержать несколько слоев для создания логотипов, брошюр и других изображений. В некоторых случаях нам может понадобиться программно манипулировать файлами PSD. В этой статье мы узнаем, как добавить новый слой в PSD в Java.
В этой статье должны быть раскрыты следующие темы:
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, выполнив следующие шаги:
- Во-первых, загрузите PSD-файл как PsdImage, используя класс Image.
- Затем подготовьте объект для добавления, например Rectangle.
- Затем вызовите метод addRegularLayer().
- При необходимости задайте положение слоя, например «Сверху», «Слева», «Справа» и «Снизу».
- После этого назначьте объект слою с помощью метода saveArgb32Pixels().
- Наконец, сохраните выходной файл, используя метод 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, выполнив следующие шаги:
- Во-первых, загрузите файл PSD как PsdImage, используя класс Image.
- Затем определите прямоугольник.
- Затем вызовите метод addTexLayer(). Он принимает текстовый ввод и прямоугольный объект в качестве аргументов.
- После этого установите положение слоя, например, сверху, слева, справа и снизу.
- Наконец, сохраните выходной файл, используя метод 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-изображение;
- создайте новый обычный слой;
- вставьте текстовый слой в PSD, используя Java.
Помимо добавления нового слоя в PSD в Java, вы можете узнать больше об Aspose.PSD для Java, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.