在整个产线系统中,基于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!' 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' doc.saveAs(jpg, options, asCopy=True) app.doJavaScript(f'alert("save to jpg: {jpg}")') if __name__ == '__main__': hello_world()
这个定义的方法就多很多了。用起来也比上一个方法更灵活。当我需要出水印图的时候。也可以在服务器提交结束之后挂一个子行为把水印加上,并且在另一个位置保存一份。想想就觉得很爽。找到了方法。就让我们rock'n'roll起来。