使用示例
注意事项
置入图层
带有置入属性的图层在插件中将不会被识别为图层
被置入的图层DYNAMIC 通过
.has_clip_layers()
显示为true
获取置入图层的信息需可以通过遍历
.clip_layers
for each_clip_layer in layer.clip_layers:
.../
使用示例
智能对象
- 读取内嵌的智能对象
with layer.smart_object.open() as f:
psb = PSDImage.open(f)
layer_count = len(psb)
if layer_count > 0:
res["layers"] = []
res["layer_count"] = layer_count
for each_layer in psb:
# 仅获取不隐藏的图层信息
layers.append(get_layer_info(each_layer, only_visible=True))
if len(layers) == 0:
logger.error(f'智能图层{layer.name} 没有子图层')
return res
导出内嵌的智能对象为独立的psb文件
可以配合官方api,修改智能对象图片时使用
from psd_tools.api.layers import Layer
def extract_smartlayer_to_psb(layer:Layer, output_path:str=None):
if not layer.kind == "smartobject": return
if not layer.smart_object.is_psd(): return
layer.smart_object.save(output_path)