Вы не перечисляете "элементы" вообще.Вы перечисляете слои, каналы или пути, используя либо 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 возвращают целочисленные идентификаторы элементов (используйте 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 здесь и некоторые более специализированные в путях здесь .