python-fu gimp获取项目列表

时间:2018-10-22 12:46:43

标签: gimp gimpfu

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

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

1 个答案:

答案 0 :(得分:2)

您通常不会列出“项目”。您可以使用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 / {{ 1}}对象(因此使用起来更简单)。

要判断图层是否为文本图层,必须使用PDB调用:gimp.Vector

您可以如此迭代文本层

pdb.gimp_item_is_text_layer(layer)

要从文本图层获取路径:

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

许多示例Python脚本here,还有一些专门用于路径here