python-fu gimp 获取物品列表
python-fu gimp get items list
如何使用 python-fu 获取图像中的项目列表?我曾尝试在 Python 程序浏览器和 google 中搜索类似的功能,但我找不到。 (我的最终目标是 select 图层上的文本项并将其转换为路径)
编辑 - 在 macOS Mojave 上使用 GIMP 版本 2.8.2
您一般不会列出 "items"。您可以使用 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 调用 return 整数项 ID(使用 gimp._id2drawable(id)
/gimp._id2vectors(id)
获取对象),而图像属性是 gimp.Layer
/[= 的列表17=]/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 and some more specialized in paths here。
如何使用 python-fu 获取图像中的项目列表?我曾尝试在 Python 程序浏览器和 google 中搜索类似的功能,但我找不到。 (我的最终目标是 select 图层上的文本项并将其转换为路径)
编辑 - 在 macOS Mojave 上使用 GIMP 版本 2.8.2
您一般不会列出 "items"。您可以使用 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 调用 return 整数项 ID(使用 gimp._id2drawable(id)
/gimp._id2vectors(id)
获取对象),而图像属性是 gimp.Layer
/[= 的列表17=]/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 and some more specialized in paths here。