Nun dachte ich, ich wäre fertig aber unten mit den 4-mal delete, ich dachte es würde besser gehen. Bereinigt muss es werden, sonst ist nur ein Aufruf möglich und man muss für einen weiteren Aufruf Gimp erst neu starten.
Enthalten in temp_image bei Verwendung von "HSV":
[codebox=pycon file=Unbenannt.txt]>>> temp_image = pdb.plug_in_decompose(geklontes_image, ebene_imageklon, "HSV", 0)
>>> print "# Prüfen: {0}".format(type(temp_image))
# Prüfen: <type 'tuple'>
>>> print "# Ergebnis mit HSV: {0}".format(temp_image)
# Ergebnis mit HSV: (<gimp.Image 'Farbton'>, <gimp.Image 'Sättigung'>, <gimp.Image 'Wert'>, None)[/code]
Enthalten in temp_image bei Verwendung von "RGB":
[codebox=pycon file=Unbenannt.txt]>>> temp_image = pdb.plug_in_decompose(geklontes_image, ebene_imageklon, "RGB", 0)
>>> print "# Prüfen: {0}".format(type(temp_image))
# Prüfen: <type 'tuple'>
>>> print "# Ergebnis mit RGB: {0}".format(temp_image)
# Ergebnis mit RGB: (<gimp.Image 'Rot'>, <gimp.Image 'Grün'>, <gimp.Image 'Blau'>, None)[/code]
Abschließendes Aufräumen erster Versuch:
Code: Alles auswählen
>>> for temp in range(temp_image):
... print temp
...
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: range() integer end argument expected, got tuple.
Abschließendes Aufräumen letzter Versuch. Keine Fehlermeldung beim ersten Aufruf, dafür beim zweiten um so mehr, weil nicht bereinigt. Nur mit del temp_image funktionierte es ebenfalls nicht.
[codebox=python file=Unbenannt.txt]for temp in range(len(temp_image)):
pdb.gimp_image_delete(temp_image[temp])[/code]
So funktioniert es, habe es nun erst einmal so belassen, soweit es fertig ist. Ist ja dann nur noch in eine Funktion übernehmen und die Registrierung.
Code: Alles auswählen
# Die erste Zeile nur in der Konsole verwenden.
image = gimp.image_list()[0]
# In die Gruppe der rückgängig-machbaren Prozeduren einreihen?
pdb.gimp_image_undo_group_start(image)
# Image duplizieren
geklontes_image = pdb.gimp_image_duplicate(image)
ebene_imageklon = geklontes_image.layers[0]
# Image zerlegen und in Tupel speichern
temp_image = pdb.plug_in_decompose(geklontes_image, ebene_imageklon, "HSV", 0)
# Aktive Ebene
arbeits_ebene = pdb.gimp_image_get_active_layer(temp_image[0])
# Arbeits-Ebene schärfen
pdb.plug_in_unsharp_mask(geklontes_image, arbeits_ebene, 0.5, 5.0, 0)
# Image wieder vereinen, die Reihenfolge ist vorgegeben.
neues_image = pdb.plug_in_compose(
temp_image[0],
arbeits_ebene,
temp_image[1],
temp_image[2],
temp_image[3],
"HSV")
# Ausgabe
pdb.gimp_display_new(neues_image)
# Einreihen Ende an dieser Stelle?
pdb.gimp_image_undo_group_end(image)
# Tupel zwinged aufräumen, ansonsten ist
# nur ein Aufruf pro Gimp-Sitzung möglich.
pdb.gimp_image_delete(temp_image[0])
pdb.gimp_image_delete(temp_image[1])
pdb.gimp_image_delete(temp_image[2])
pdb.gimp_image_delete(temp_image[3])