Вы не перечисляете "предметы" в целом. Вы перечисляете слои, каналы или пути, используя 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 здесь и некоторые другие специализированные пути здесь.
person
xenoid
schedule
22.10.2018