python - 在 Python 中将 PSD 图层导出到 EXR
问题描述
我正在尝试编写一个程序来读取 .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))
推荐阅读
- reactjs - 使用 Gatsby 和 Stripe 时如何修复“IntegrationError: No such sku: "prod_....." 错误
- ios - 如何调整 CALayer 大小以适应父视图
- excel - 工作表的 Excel Vba 复制方法失败 - 从 xlApp 复制到 ThisWorkbook
- php - 为什么我通过 Cloudflare 收到连续的 524 错误?
- azure - 有没有办法检查 Log Analytics 字段中的子字符串是否存在?
- sql - 无法执行 SQL Server 存储过程
- node.js - Bash 终端中的文本被覆盖!使用JS、Node.js(npms有:inquirer、console.table、mysql)
- python - 在 pandas 数据框的列中填充空值
- avro - Spring Cloud Stream Kafka Consumer 应用程序不允许添加供应商
- javascript - 如何确定 DOM 元素是否为滚动容器?