【问题标题】:python-fu gimp get items listpython-fu gimp 获取项目列表
【发布时间】:2018-10-22 12:46:43
【问题描述】:

如何使用 python-fu 获取图像中的项目列表?我尝试在 Python 过程浏览器和谷歌中搜索类似的功能,但找不到任何功能。 (我的最终目标是在图层上选择一个文本项并将其转换为路径)

编辑 - 在 macOS Mojave 上使用 GIMP 2.8.2 版

【问题讨论】:

    标签: gimp gimpfu


    【解决方案1】:

    您一般不会列出“项目”。您可以使用 PDB 列出层、通道或路径:

    for lid in pdb.gimp_image_get_layers(image)
    for cid in pdb.gimp_image_get_channels(image)
    for vid in pdb.gimp_image_get_vectors(image)
    

    或者图片对象的属性:

    for l in image.layers
    for c in image.channels
    for v in image.vectors
    

    PDB 调用返回整数项 ID(使用 gimp._id2drawable(id)/gimp._id2vectors(id) 获取对象),而图像属性是 gimp.Layer/gimp.Channel/gimp.Vector 对象的列表(因此更简单合作)。

    要判断一个图层是否为文本图层,您必须使用 PDB 调用:pdb.gimp_item_is_text_layer(layer)

    你可以这样迭代文本层

    for textlayer in [l for l in image.layers if pdb.gimp_item_is_text_layer(l)]`
    

    从文本层获取路径:

    path=pdb.gimp_vectors_new_from_text_layer(image,layer)
    

    许多示例 Python 脚本 here 和一些更专业的路径 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多