我需要创建一个 psd 文件以将多个图像合并为一个分层的图像。
我看到gimp 命令行似乎是唯一能够做到的方法,但我想让这个工具独立。
会有另一种解决方案吗?
有关信息,我已经查看了psd-tools、psdparse、pypsd,它们允许从 psd 中提取图层以使用它制作单独的图像,但不能反过来。
o/
前段时间,我曾为一位坚持使用 Django 构建在线照片编辑器的客户研究过这个问题。
为了获得正确的结果,您可能必须以某种形式依赖本机编译库。由于大多数 Python 模块都会包装这些库,因此您可以坚持使用
import os; os.system("gimp ...")
或from subprocess import call; call(["gimp", "-i -b '(mygimpscript "test.psd" 2000 2000)'..."])
使用GIMP 命令行。
来自 Adob e 博主:
如果您是开发人员,PSD 的复杂性使得编写文件格式读取器/写入器更加困难。当然,PSD 从未被设计为或打算成为一种交换格式。
current-work-in-progress psd-tools中的自述文件也表明,好的 psd 编写器仍然很难甚至难以捉摸。
尽管有这样的介绍,
GIMP 和 Python将是一个很好的组合。
Pillow 2也有一些有用的功能。
为了与alpha 混合和元数据完全兼容,您获得的唯一选择是使用 Adobe 提供的基于 COM32 的专有 psd 库。这是一个例子,这里是另一个。
优点是文档水平不错。缺点是您可能会受到平台限制。
不幸的是,答案似乎仍然是:
不,目前仍然没有办法以满足生产水平的方式在纯 Python 中编写 psd 文件。