【发布时间】:2013-09-11 02:15:00
【问题描述】:
我需要创建一个 psd 文件来将多个图像合并为一个分层的图像。
我看到 gimp 命令行 似乎是唯一可行的方法,但我想让这个工具独立。
还有其他解决方案吗?
有关信息,我已经查看了 psd-tools、psdparse、pypsd,它们允许从 psd 中提取图层以制作单独的图像它,但不是相反。
o/
【问题讨论】:
我需要创建一个 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 command line。
来自 Adobe blogger:
如果您是开发人员,PSD 的复杂性使得编写文件格式 读者/作家更难。当然,PSD 从来没有被设计为 旨在成为一种交换格式。
Readme 来自 current-work-in-progress psd-tools,也表明优秀的 psd 编写者仍然很难甚至难以捉摸。
尽管有介绍,
GIMP and Python 将是一个很好的组合。
Pillow 2 也有一些有用的功能。
为了与 alpha 混合 和 元数据 完全兼容,您获得的唯一选择是使用 Adobe 提供的基于 COM32 的专有 psd 库。 Here 是一个例子,here 是另一个例子。
优点是文档水平不错。缺点是您可能会受平台限制。
不幸的是,答案似乎仍然是:
不,目前仍然没有办法以满足生产水平的方式用纯 Python 编写 psd 文件。
【讨论】: