最近设计师提了一个好玩的需求,他们批量上传PSD文件,将里面的图层文件解析出来,这样不用他们一个个打开PS再进行导出。好吧,安排!!!原本想使用Java开发这个功能,但是真的太繁杂以及啰嗦了,突然想到Python,这货太强大了,简直是开发小哥的福音,为了完成这个功能,我使用了python的 psd-tools 库。
项目介绍:psd-tools——psd工具是一个Python包,用于处理Adobe Photoshop psd文件。
类库安装:pip install psd-tools
下面是一个PSD文件解析Layer的demo,仅供参考!!!
实际业务根据自己的去改动就可以实现PSD文件解析图层功能或者像我一样,写个GUI处理。
from psd_tools import PSDImage psd = PSDImage.open('D:\\www\\python\\1119\\流行色.psd') psd.compose().save('D:\\www\\python\\1119\\layer\\流行色\\流行色.png') # for layer in psd: # print(layer) for layer in reversed(list(psd.descendants())): layer_name = str(layer.name) layer_name = layer_name.replace('"', '') layer_name = layer_name.replace(' ', '') layer_name = layer_name.replace('.', '') layer_name = layer_name.replace('png', '') print(layer_name) print(layer) layer.compose().save('D:\\www\\python\\1119\\layer\\流行色\\'+str(layer_name)+'.png') # print(layer) # if layer.kind == 'pixel': # print(layer.name) # print(layer.size)
解析结果:
来源:oschina
链接:https://my.oschina.net/u/2373221/blog/3176159