我有一个多层PSD,其中一个特定的层是非光栅化文本。我正试图从bash/perl/python/whatever else程序中找出一种可行的方法:
- 加载屏蔽门
- 编辑所述层中的文本
- 展平图像中的所有层
- 另存为网络友好格式,如PNG或JPG
我立刻想到了ImageMagick,但我不认为我可以通过IM编辑文本层。如果我能以其他编程方式完成前两个步骤,我总是可以使用ImageMagick来执行最后两个步骤。
经过几个小时的搜索和CPAN和PyPI,我仍然没有发现什么有希望的。有人对这个问题有什么建议或想法吗?
Tags:
如果您不喜欢使用官方支持的AppleScript、JavaScript或VBScript,那么也可以在Python中使用。本文Photoshop scripting with Python对此进行了解释,它依赖于Photoshop的COM接口。
我没有试过,所以万一对你不起作用: 如果文本是在conversion to SVG之后保留的,那么您可以简单地用您喜欢的任何工具替换它。然后,将其转换为PNG(例如通过
inkscape --export-png=...
)。我能想到的在PSD中自动更改文本的唯一方法是使用基于regex的替换。
此方法(如果可行)仅在相关层包含可替换为其他值的已知字符串时才起作用。请注意,我不知道这是否可行,因为我在这台计算机上没有Photoshop来尝试这种方法。也许你能成功?
至于转换成png,我不知所措。如果替换脚本是在Python中,您可以使用Python图像库(PIL,which seems to support it)来完成,否则您可能只需要打开Photoshop来完成转换。这意味着,一开始就务实地修改文本可能不值得。
你考虑过在GIMP中打开和编辑图像吗?它有很好的PSD支持,可以用多种语言编写脚本。
您使用哪一个部分取决于您的平台,Perl接口在我知道的最后一个版本中不能在Windows上工作。我相信所有港口都支持这个计划。
相关问题 更多 >
编程相关推荐