Экспорт слоев PSD в EXR в Python - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь написать программу для чтения в файле .psd, разделить слои на отдельные изображения (сохраняя размеры исходного изображения) и экспортировать их как файлы EXR.

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

Мне удалось прочитать полный .psd и экспортировать его в .exr, но, похоже, ничто из того, что я пробовал, не указывает на то, что существует более одного слоя (подизображения) для взаимодействия.

Есть ли:

  1. что-то очевидное, что мне не хватает, или
  2. лучший способ сделать это?

Примечание:

У меня был некоторый успех с использованием psd_tools2, но изображения не могут быть экспортированы как .exr, и они не являются правильными размерами.

1 Ответ

0 голосов
/ 05 ноября 2018

На самом деле это относительно просто, однако есть одно предостережение в том, что на данный момент поддерживается только 8-битные psd-файлы.

import OpenImageIO as oiio

sourcefile = '/path/to/sourcefile.psd'
buf = oiio.ImageBuf(sourcefile)

for layer in range(buf.nsubimages):
    buf.reset(sourcefile, subimage=layer)
    buf.write('/tmp/mylayer_{l}.exr'.format(l=layer))
...