python-fu gimp get items list



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

编辑 - 在 macOS Mojave 上使用 GIMP 版本 2.8.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/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 脚本,还有一些更专业的路径。

最新更新