我需要创建一个PSD文件,将多张图像合并为一张分层的图像。看到Gimp命令行似乎是唯一能够完成此操作的方法,但我想让这个工具独立运行。是否有其他解决方案?
提供信息:我已经查看了psd-tools、psdparse和pypsd等工具,它们可以从PSD中提取图层以制作单独的图像,但不能反过来。
提供信息:我已经查看了psd-tools、psdparse和pypsd等工具,它们可以从PSD中提取图层以制作单独的图像,但不能反过来。
我曾经为一位坚持使用Django构建在线照片编辑器的客户调查了这个问题。
要获得正确的结果,您可能需要在某种形式上依赖本地编译的库。由于大多数Python模块将包装这些库,因此您可以继续使用GIMP命令行,例如:import os; os.system("gimp ...")
或from subprocess import call; call(["gimp", "-i -b '(mygimpscript "test.psd" 2000 2000)'..."])
。
来自Adobe 博主的说法:
如果您是开发人员,则PSD的复杂性使得编写文件格式读取器/编写器更加困难。当然,PSD从未设计为或旨在成为交换格式。
当前正在进行的psd-tools的Readme也暗示写好的psd writer(编写器)仍然难以或甚至难以获得。
尽管如此,
GIMP和Python组合是一个不错的选择。
Pillow 2也具有一些有用的功能。
要完全兼容alpha blending(阿尔法混合)和元数据,您唯一的选择是使用Adobe基于COM32的专有psd库。 这里有一个示例,另一个。
优点是有相当水平的文档。缺点是您可能会限制在某个平台上。
不幸的是,答案仍然是:
不,目前仍然没有纯Python编写符合生产水平的psd文件的方法。