Forum Wiki Galerie Kontakt Wie man Fragen richtig stellt. Tutorial Forum
Zurück   GIMP-Forum 3.0 > Arbeiten mit Gimp > Tutorials > Fortgeschritten

Hinweise
Alt 26.08.2016, 08:49   #41
PeterPKHG
Erfahrener Benutzer
 
Registriert seit: 20.07.2016
Beiträge: 498
Standard

Zitat:
Zitat von lueki01 Beitrag anzeigen
<snip>
Ziemlich schwer tue ich mich noch mit Python. Wo bitte ist die "Python-Konsole" und wo ist der "Knopf Browse"? Ich benutze Gimp in der deutschsprachigen Version weil, mein Schulenglisch liegt schon ziemlich lange zurück und das Fachenglisch, das hier leider gang und gäbe ist, hilft mir auch selten so richtig weiter. Klar, "Browse" und "Browser" kann ich alleine übersetzen, aber einen entsprechenden "Knopf" habe ich noch nicht gefunden.

Dies sollte dir helfen:
Klicke auf die Grafik für eine größere Ansicht

Name:	PythonFuHilfe1.jpg
Hits:	46
Größe:	187,2 KB
ID:	5667

Egal, ich werde mich mit dem Thema weiter auseinandersetzen und das ausprobieren was Du in Deinem Post oben geschrieben hast.
<snip>
Grüße aus dem schönen Rheinland
Rolf
Wenn man mit der Python Konsole Gimp Dinge probieren will braucht man fast immer als erstes dies:
1. Ein Bild in Gimp geladen haben
danach die Python-Konsole öffen (siehe Bild oben)
dann jeweils eine Zeile eintippen und mit Enter bestätigen.
Code:
image = gimp.image_list()[0]
layer = image.layers[0]
Siehe im Bild oben wie es dann aussehen sollte.
Wenn man will kann man mehrere Kommandos in EINER Zeile tippen, die dann mit einem ; (Punkt-Komma) getrennt werden müssen:
image = gimp.image_list()[0] ; layer = image.layers[0]
PeterPKHG ist offline   Mit Zitat antworten
Alt 26.08.2016, 09:07   #42
ursa major
Erfahrener Benutzer
 
Registriert seit: 02.04.2014
Beiträge: 1.743
Standard

Habe ich gemacht: Bild geladen, Dein Kommando
Zitat:
image = gimp.image_list()[0] ; layer = image.layers[0]
kopiert und in die Konsole eingefügt, mit "Enter" bestätigt, den Browser aufgerufen, dort das Plugin "elsamuko_national_geographic" ausgewählt und angewendet, mit "Enter" bestätigt. Das ergab folgende Meldung:
Zitat:
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'drawable' is not defined
und sonst keinen Effekt.

Edit: By the way, vielleicht sollte man dieses Python-Thema in einen eigenen Thread abspalten, denn mit dem ursprünglichen Thema "Glaskugel" hat das ja nur noch partiell zu tun.

Geändert von ursa major (26.08.2016 um 09:10 Uhr) Grund: Anregung auch an Admin
ursa major ist offline   Mit Zitat antworten
Alt 26.08.2016, 09:16   #43
PeterPKHG
Erfahrener Benutzer
 
Registriert seit: 20.07.2016
Beiträge: 498
Standard

Hmm, ich denke dass ich unter ... für alle die noch nie Python, bzw. Python in der Gimp-Python-Konsole 'gespielt' haben etwas NEU anfangen sollte, alles hier unter Glaskugel besprechen ist wohl (leider durch mich selbst angefangen).
Nur noch eben noch dies , schau den Post vor diesem letzten deinem an ...

Eben noch Antworten hier auf deine Fragen.
In Python-Konsolen beendet man ein Kommando, denke ich, (fast immer,!) mit "Enter"!
UND alle neuen einzeiligen Kommandos müssen am ANFANG eine neue Zeile stehen.
Tippt man "Lehrzeichen" 2**100 "Enter" bekommt man eine Fehlermeldung:
...
IndentationError: unexpected indent

Nebenbei: indent macht man mit Lehrzeichen oder Tabulator

drawable Fehlermeldungen:

In Gimp-Python ist ein Bild (intern) ein Image, das man sich 'holen' muss (Bild schon sichtbar in in Gimp) mit name = gimp.image_list()[0]
Gut ist name durch image zu ersetzen, weil die Aufträge mit Hilfe von Browse sehr häufig ein Bild nötig haben und das als "image" in der Konsole erscheint.

Um das gimp.image_list() ganz und gar zu verstehen tue man dies:
Mehrere Bilder in Gimp laden und dann in der Python-Konsole dies eingeben:
gimp.image_list()

Das gab im Moment bei mir dies:
[<gimp.Image '[testBild](importiert)'>, <gimp.Image '[gustl_tut](importiert)'>, <gimp.Image '[PythonFuHilfe1](exportiert)'>]

Drei Bilder und die sind UMSCHLOSSEN mit eckigen Klammern (auf [ und zu ]), das ist das Kennzeichen für eine Liste in Python na ja (usw.)

Hat man NUR EIN Bild in Gimp geladen dann steht in dieser Liste nur EIN Bild und das holt man sich durch hinter dem Kommando [0] hinzuzufügen (sieh oben)!
Und für später aufbewahren durch noch image = davor zu setzen.

Ja und dies alles sollte ich in einen neuen Thread wiederholen,

Entschuldigt mich, dass das alles HIER steht.
PeterPKHG ist offline   Mit Zitat antworten
Alt 26.08.2016, 09:24   #44
PeterPKHG
Erfahrener Benutzer
 
Registriert seit: 20.07.2016
Beiträge: 498
Standard

Zitat:
Zitat von ursa major Beitrag anzeigen
Habe ich gemacht: Bild geladen, Dein Kommando kopiert und in die Konsole eingefügt, mit "Enter" bestätigt, den Browser aufgerufen, dort das Plugin "elsamuko_national_geographic" ausgewählt und angewendet, mit "Enter" bestätigt. Das ergab folgende Meldung: und sonst keinen Effekt.

Hi Hi, soll ich das tun? (siehe auch weiter oben)
Edit: By the way, vielleicht sollte man dieses Python-Thema in einen eigenen Thread abspalten, denn mit dem ursprünglichen Thema "Glaskugel" hat das ja nur noch partiell zu tun.
Tja, leider gibt es einen Unterschied zwischen layer und drawable.
In diesem deinem Fall kann man das so lösen:
Das erste Layer von einem Bild ist auch ein 'Drawable':
drawable = layer
würden helfen
oder gleich
drawable = image.layers[0]
oder den namen "drawable" im Aufrug des zu testenden plug-ins durch "layer" ersetzen. Leider habe ich das von dir erwähnte plug-in nicht ...
OK. Deutlich genug?
PeterPKHG ist offline   Mit Zitat antworten
Alt 26.08.2016, 09:54   #45
ursa major
Erfahrener Benutzer
 
Registriert seit: 02.04.2014
Beiträge: 1.743
Standard

Gut, das sieht schon besser aus. aber noch nicht wirklich gut.

Habe fünf Bilder geladen, wieder
Code:
image = gimp.image_list()[0] ; layer = image.layers[0]
in die Konsole kopiert und "Enter", dann
Code:
drawable = image.layers[0]
und "Enter". Nun habe ich das Plugin "Desaturate" angewendet (ein GIMP-Standard-Plugin) und "Enter". Alles in allem sah das dann so aus:
Code:
>>> image = gimp.image_list()[0] ; layer = image.layers[0]
>>> drawable = image.layers[0]
>>> pdb.gimp_desaturate(drawable)
>>>
Entsättigt wurde nur das letzte Bild. Eine Liste habe ich in der Konsole nicht bekommen. Aber immerhin schonmal einen Effekt.

Aber wir machen das besser im neuen Thread, Schritt für Schritt, von Anfang an. Vielleicht sinnvollerweise auch unter "Tutorials". Weiß aber nicht wie die Admins das sehen.

Geändert von ursa major (26.08.2016 um 10:07 Uhr)
ursa major ist offline   Mit Zitat antworten
Alt 26.08.2016, 10:16   #46
PeterPKHG
Erfahrener Benutzer
 
Registriert seit: 20.07.2016
Beiträge: 498
Standard

Zitat:
Zitat von ursa major Beitrag anzeigen
Gut, das sieht schon besser aus. aber noch nicht wirklich gut.

Habe fünf Bilder geladen, wieder
Code:
image = gimp.image_list()[0] ; layer = image.layers[0]
in die Konsole kopiert und "Enter", dann
Code:
drawable = image.layers[0]
und "Enter". Nun habe ich das Plugin "Desaturate" angewendet (ein GIMP-Standard-Plugin) und "Enter". Alles in allem sah das dann so aus:
Code:
>>> image = gimp.image_list()[0] ; layer = image.layers[0]
>>> drawable = image.layers[0]
>>> pdb.gimp_desaturate(drawable)
>>>
Entsättigt wurde nur das letzte Bild. Eine Liste habe ich in der Konsole nicht bekommen. Aber immerhin schonmal einen Effekt.

Aber wir machen das besser im neuen Thread, Schritt für Schritt, von Anfang an. Vielleicht sinnvollerweise auch unter "Tutorials". Weiß aber nicht wie die Admins das sehen.
Hi hi, dazu muss man wissen wie Listen in Python funktionieren.
Wenn Du mehr als ein Bild geöfnet hast in Gimp tue doch einfach dies:
gimp.image_list()
das ergibt so etwas :
[ bildx, bildy, bildz, .... ] ... wenn noch mehr hat ...
Und gimp.image_list()[0] gibt dir bildx!

Muss leider eben weg ...
PeterPKHG ist offline   Mit Zitat antworten
Alt 26.08.2016, 10:35   #47
ursa major
Erfahrener Benutzer
 
Registriert seit: 02.04.2014
Beiträge: 1.743
Standard

Guck mal, das ist doch das was ich mit "vollständig" meinte. Wie soll man das wissen? Das ist doch kein angeborenes Wissen. Warum schreibst Du das nicht gleich so? Ich fürchte, dass sehr viele Leute aus so einem Python-Kurs relativ schnell wieder aussteigen, wenn bei jedem Befehl den sie lernen ein Problem auftaucht, das nur durch eine Nachfrage und einen neuen Befehl gelöst werden kann, der dann aber womöglich auch noch nicht zum Ziel führt ohne dass man noch einen weiteren Befehl kennt, den man aber auch erst erfragen muss. Soviel Zeit und Nerven, sich so einen häppchenweisen Marathon anzutun, hat kaum jemand. Noch dazu wenn man gar nicht abschätzen kann wie umfangreich der Stoff ist und wie lange man dafür brauchen wird. Und letztlich natürlich auch, ob sich das für einen lohnt oder ob man nicht schneller und besser zum Ziel kommt, wenn man die Operationen, statt mit Python, lieber zu Fuß vornimmt.
ursa major ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:18 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.