Skip to main content

使用示例

注意事项

置入图层

带有置入属性的图层在插件中将不会被识别为图层

image-20220529133241675

  • 被置入的图层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)