Etwas Python Code für die Python Konsole

Hier bekommst du Hilfestellungen zu GIMP
Antworten
Cl_Pythonista
Beiträge: 2
Registriert: Do 19. Jan 2023, 11:04
Betriebssystem: Mint / Ubuntu / Win

Etwas Python Code für die Python Konsole

Beitrag von Cl_Pythonista »

Hallo und guten tag zusammen. Ich habe heute vormittag eine Frage zu Python-fu gestellt - und bin gerade eben selber auf meinen Fehler aufmerksam geworden.
Es ging um die Uschaltung eines Layers von sichtbar zu unsichtbar.
Ich möchte hier nun als kleine Gegenleistung meine Kopie des CLI (Interface) zur Verfügung stellen.
Dennoch ein wirkliches Dankeschön an Euch alle
Claudius


>>> import os
>>> os.chdir('/home/cl/scripte/gimp/pics')
>>> os.listdir('.')
['180123_1.xcf']
>>>

>>> path = '/home/cl/scripte/gimp/pics/'
>>> file = '180123_1.xcf'
>>> image = pdb.gimp_file_load(path + file, 0)
>>> gimp.Display(img)
<display> # das Bild wird nun im Fenster/gimp angezeigt

# layer ermitteln

>>> active_layer = pdb.gimp_image_get_active_layer(image) # vorher manuell in gimp verändert/angewählt auf Ebene3
>>> active_layer
<gimp.Layer 'Ebene3'>
>>> active_layer = pdb.gimp_image_get_active_layer(image) # vorher manuell in gimp verändert/angewählt auf Background
>>> active_layer
<gimp.Layer 'Background'>

# Alle layer auflisten

>>> for lid in pdb.gimp_image_get_layers(image):
... print(lid)
...
5
(20, 21, 22, 23, 24)
>>> lid
(20, 21, 22, 23, 24) # Alle Bildebenen -> Background und Ebene1 bis Ebene4
>>>

#### Ziel ist es nun einen Layer zu sichtbar / unsichtbar zu schalten ##########

>>> # res = pdb.gimp_item_set_visible(item, visible)

################################################################################

>>> active_layer = pdb.gimp_image_get_active_layer(image)
>>> active_layer
<gimp.Layer 'Ebene3'>
>>> # item -> ?
>>> # visible =-> True/False als int32-> 0 / 1
>>> image
<gimp.Image '180123_1.xcf'>
>>> path
'/home/cl/scripte/gimp/pics/'
>>> file
'180123_1.xcf'
>>> lid
(20, 21, 22, 23, 24)
>>> pdb.gimp_image_get_layers(image)
(5, (20, 21, 22, 23, 24))
>>>

>>> pdb.gimp_image_get_active_layer(image)
<gimp.Layer 'Ebene1'>

>>> active_layer = pdb.gimp_image_get_active_layer(image)
>>> active_layer
<gimp.Layer 'Ebene1'>

### Erfolg ######################

>>> res = pdb.gimp_item_set_visible(active_layer, 1) # Erfolg
>>> res = pdb.gimp_item_set_visible(active_layer, 0) # Erfolg

#################################
Antworten