在 Python 中将 PSD 层导出到 EXR
Export PSD Layers to EXR in Python
我正在尝试编写一个程序来读取 .psd 文件,将图层拆分为单独的图像(保持原始图像的尺寸)并将它们导出为 EXR 文件。
我目前正在尝试使用 OpenImageIo 库来完成此操作,但文档在 python.
中并未特别清楚地说明如何实现此操作
我已经成功地读取了完整的 .psd 并将其导出到 .exr,但是我一直在尝试的任何事情似乎都表明有不止一层(子图像)可以与之交互。
有没有:
- 我遗漏了一些明显的东西,或者
- 完成此任务的更好方法?
旁注:
我使用 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))
我正在尝试编写一个程序来读取 .psd 文件,将图层拆分为单独的图像(保持原始图像的尺寸)并将它们导出为 EXR 文件。
我目前正在尝试使用 OpenImageIo 库来完成此操作,但文档在 python.
中并未特别清楚地说明如何实现此操作我已经成功地读取了完整的 .psd 并将其导出到 .exr,但是我一直在尝试的任何事情似乎都表明有不止一层(子图像)可以与之交互。
有没有:
- 我遗漏了一些明显的东西,或者
- 完成此任务的更好方法?
旁注:
我使用 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))