Создать PSD файл из набора изображений

Вопрос или проблема

Создать PSD файл из набора изображений

У меня есть задача создать PSD файл из набора изображений, и каждое изображение должно быть помещено в отдельный слой.

Я пробовал psd-tool, но он не совсем подходит для моей задачи.

Я был бы очень признателен за любые идеи по выполнению моей задачи.

Спасибо всем.

Это можно сделать на Python, создавая PSD с использованием изображений; каждое изображение будет находиться в своем слое. Следующий код будет обрабатывать изображения и структуру PSD с использованием библиотек Pillow и psd-tools соответственно. К сожалению, psd-tools не поддерживает запись в PSD файлы. Вам придется создать базовое изображение собственным кодом, используя что-то вроде PIL.Image, композировать сами слои в структуру, подобную PSD, а затем экспортировать это с помощью другой библиотеки. Возможно, более простое решение — использовать возможности скриптования Photoshop с помощью JavaScript. Вот простой скрипт, который вы можете запустить в Photoshop, и он делает следующее: создает PSD, в котором каждое изображение является отдельным слоем.

Этот скрипт выбирает папку с изображениями, открывает каждое изображение и дублирует слой в новый документ PSD. Затем он сохраняет результат как многослойный PSD в Photoshop.

var folder = Folder.selectDialog('Выберите папку с изображениями');
var files = folder.getFiles(/\.(jpg|jpeg|png)$/i);

var doc = app.documents.add();

for (var i = 0; i < files.length; i++) {
    var file = File(files[i]);
    var image = app.open(file);
    image.artLayers[0].duplicate(doc);
    image.close(SaveOptions.DONOTSAVECHANGES);
}

doc.layers[0].remove();

Ответ или решение

Создание PSD-файла из набора изображений с каждым изображением на отдельном слое является довольно распространенной задачей в графическом дизайне. Поскольку вы пробовали psd-tools и он вас не удовлетворил, рассмотрим другой подход, который использует возможности скриптования в Photoshop.

Вы можете воспользоваться JavaScript-скриптом, который создаст новый PSD-файл и добавит каждое изображение как отдельный слой. Вот пример скрипта, который вы можете использовать:

var folder = Folder.selectDialog('Выберите папку с изображениями');
var files = folder.getFiles(/\.(jpg|jpeg|png)$/i);

var doc = app.documents.add();

for (var i = 0; i < files.length; i++) {
    var file = File(files[i]);
    var image = app.open(file);
    image.artLayers[0].duplicate(doc);
    image.close(SaveOptions.DONOTSAVECHANGES);
}

doc.layers[0].remove();

Как использовать скрипт

  1. Откройте Photoshop.
  2. Перейдите в меню File -> Scripts -> Script Editor....
  3. Скопируйте и вставьте приведенный выше JavaScript-код в редактор.
  4. Сохраните скрипт с расширением .jsx.
  5. Закройте редактор и вернитесь в Photoshop.
  6. Перейдите в меню File -> Scripts -> Browse... и выберите ваш скрипт.
  7. Скрипт предложит вам выбрать папку с изображениями. После выбора Photoshop автоматически создаст новый PSD-файл с изображениями, каждый из которых будет находиться на своём слое.

Объяснение скрипта

  • Folder.selectDialog – открывает диалог для выбора папки с изображениями.
  • folder.getFiles(/\.(jpg|jpeg|png)$/i) – получает список всех файлов в выбранной папке с расширениями JPG, JPEG или PNG.
  • app.documents.add() – создает новый документ в Photoshop.
  • Цикл for проходит по всем изображениям, открывает каждое изображение, дублирует его первый слой в новый документ и, наконец, закрывает изображение без сохранения.
  • doc.layers[0].remove(); – удаляет пустой первоначальный слой, который создается вместе с новым документом.

Этот способ позволяет вам удобно и быстро создать многослойный PSD-файл из набора изображений, что значительно сэкономит ваше время и усилия. Если у вас возникнут какие-либо вопросы или необходимо внести изменения в скрипт, не стесняйтесь спрашивать!

Оцените материал
Добавить комментарий

Капча загружается...