将photoshop纳入基于python的pipeline接口系统
林小远
2020年06月18日 03:22
收录于文集
共52篇

在整个产线系统中,基于windows的photoshop平台,应该是功能最强大,应用范围相对比较大的工具。所以在工作中将photoshop也纳入产线管理系统,对前期设计人员也是一件非常舒服的事情,只要本地保存好psd,一件提交上传正确的格式,尺寸,命名。并且不需要管最终输出的位置。每次提交的过程文件都会保存在服务器上,不用担心自己手残覆盖掉正确的源文件。

想想还是蛮爽的。但是ps本身没有python的开发接口。所以需要使用win32库或者java来驱动他。下面介绍一下win32库和java两种驱动方式。

这个代码就是制作了一个小文本框,不过我觉得如果可以控制他的位置,字体或者其他什么的,会更好。不过简单的打开保存,已经满足了我的基础需求

除此之外第二种方法

可以尝试使用 

https://github.com/loonghao/photoshop_python_api

原版范例 : https://photoshop-python-api.readthedocs.io/en/master/examples.html

import photoshop as ps def hello_world():     app = ps.Application()     doc = app.documents.add()     text_color = ps.SolidColor()     text_color.rgb.green = 255     new_text_layer = doc.artLayers.add()     new_text_layer.kind = ps.LayerKind.TextLayer     new_text_layer.textItem.contents = 'Hello, World!&#​39;     new_text_layer.textItem.position = [160, 167]     new_text_layer.textItem.size = 40     new_text_layer.textItem.color = text_color     options = ps.JPEGSaveOptions(quality=5)     jpg = 'd:/hello_world.jpg&#​39;     doc.saveAs(jpg, options, asCopy=True)     app.doJavaScript(f'alert(&#​34;save to jpg: {jpg}")&#​39;) if __name__ == '__main__&#​39;:     hello_world()

这个定义的方法就多很多了。用起来也比上一个方法更灵活。当我需要出水印图的时候。也可以在服务器提交结束之后挂一个子行为把水印加上,并且在另一个位置保存一份。想想就觉得很爽。找到了方法。就让我们rock'n&#​39;roll起来。