在 Python 中将 PSD 层导出到 EXR

Export PSD Layers to EXR in Python

我正在尝试编写一个程序来读取 .psd 文件,将图层拆分为单独的图像(保持原始图像的尺寸)并将它们导出为 EXR 文件。

我目前正在尝试使用 OpenImageIo 库来完成此操作,但文档在 python.

中并未特别清楚地说明如何实现此操作

我已经成功地读取了完整的 .psd 并将其导出到 .exr,但是我一直在尝试的任何事情似乎都表明有不止一层(子图像)可以与之交互。

有没有:

  1. 我遗漏了一些明显的东西,或者
  2. 完成此任务的更好方法?

旁注:

我使用 psd_tools2 取得了一些成功,但图像无法导出为 .exr,尺寸也不正确。

这实际上相对简单,但有一点需要注意,目前似乎只支持 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))