PDA

Vollständige Version anzeigen : Automatisches zurechtschneiden


Kincaid
30.12.2009, 04:45
Hi, ich hab hier über 6000 Bilder in verschiedenen Auflösungen, manche im Hochformat, manche im Querformat. Auf jedem Bild ist eine Person und ich muss die alle auf 300*400, also Hochformat, beschneiden und das natürlich so das die Person am Ende auch noch zu sehen ist. Ich hab schon ein Script gefunden das mir zumindest alle Bilder mit einer Breite von 300 und einer Höhe von mindestens 401 zuerechtschneiden kann ( http://rocksun.cn/en/gimp-crop-script/ ). Jedes Bild liegt in einem eigenen Unterordner. Eigentlich hatte ich geplant im Rootordner einfach nach allen jpg Dateien zu suchen und diese nach den Abmessungen zu sortieren. Somit kann ich ganz einfach alle Bilder auf einmal markieren die den vorraussetzungen entsprechen, allerdings kommt die Batchdatei nicht mit Leerzeichen im Dateipfad klar, aber jedes Bild hat in seinem Unterordner mindestens ein Leerzeichen.

Mir würde es reichen wenn ich jedes Bild in Gimp öffne und dann ein Script ausführe das folgendes macht:

1. Bild skalieren: Wenn Höhe/Breite > 1,33 die breite auf 300 skalieren, ansonsten die Höhe auf 400

2. Leinwandgröße ändern auf Höhe=400 und Breite=300

3. Wenn möglich hier eine Pause damit ich das Bild ausrichten kann.

4. Fenster schließen und dann die nächsten drei Dialoge mit Speichern -> Exportieren -> Speichern bestätigen.

Noch besser wäre natürlich wenn auch das über ein Kontextmenü gehen würde, oder mit einer Batchdatei die jeden Unterordner nacheinander durchsucht und das Script ausführt.

Ich hab nur leider überhaupt keine Ahnung vom Programmieren, deshalb fällt es mir ziemlich schwer ein Gimp Script zu schreiben und ich hab auch keine Ahnung wie viel Aufwand so ein Script wäre bzw. ob es überhaupt möglich ist. Ist hier vllt jemand der mir so ein Script schreiben könnte wenn das nicht allzuviel arbeit ist?

klaus_harrer
30.12.2009, 13:12
Hallo Kincaid

Ein großer Teil würde funktionieren.

Mit einer Kombination aus Script-Fu und Windows batch Script.

Falls du interesse hast erreichst mich unter ICQ: 125748705 oder

gimp.scripte@googlemail.com.

MfG
Klaus Harrer

Kincaid
31.12.2009, 15:51
Ok, das was ich hier zu tun habe ist privat und nicht geschäftlich, das heißt ich möchte nur ungern für ein Script bezahlen. Wenn also jemand hier ist der mir kostenlos helfen möchte wäre ich sehr dankbar, ansonsten muss ich mich selbst mal schlau machen und schauen ob ich da was hinbekomme.

Edit: Hab mich mal ein bisschen im Netz umgesehen, vllt bekomm ich es wirklich hin mir die Arbeit wenigstens etwas zu erleichtern, da hab ich jetzt auch direkt schon 2 Fragen:

1. gimp-image-resize wird mir wohl das Bild nicht zurechtschneiden sondern stauchen oder strecken, je nachdem. Gibt es auch einen Befehl um die Leinwandgröße zu ändern? gimp-layer-resize wird es ja sicher auch nicht sein, layer sind ja Ebenen, oder ist hier die Leinwand gemeint?

2. gimp-image-resize zb braucht als Parameter die ID des Bildes, wo bekomm ich die her? SF-IMAGE gibt mir eine 0, aber mit (gimp-image-resize 0 300 400 0 0) bekomm ich einen Fehler, ich bekomm es nur hin ein neues Bild zu erstellen und dort die Größe zu ändern, aber das hilft mir ja nicht wirklich. Alles was ich bisher hinbekomme ist:

(let*
(
(a (cadr (gimp-image-list)))

)
(print a )
)Hier gibt mir (print a) ein #(3), aber ich komm einfach nicht an die 3 alleine. Noch caddr oder ähnliches funktioniert nicht, das heißt dann wohl das "#(3)" nur noch ein Wert ist und sicht mit car oder cdr nicht mehr teilen lässt, hab ich das richtig verstanden? Ist vllt gimp-image-list sogar die falsche Funktion? Ich finde dafür auch kein Beispiel, alle Scripte und Tutorials die ich mir angeschaut habe legen ein neues Bild an.

Kincaid
07.01.2010, 02:26
Na kommt, erzählt mir doch nich das das keiner hier weiß. ;)

houz
07.01.2010, 19:51
Muss es denn unbedingt ScriptFu sein? Geht nicht auch ein Python-Plug-In?

Kincaid
08.01.2010, 03:39
Wenn mir das jemand schreiben kann ists mir egal in welcher Sprache das geschrieben wird, aber von Python hab ich halt jetzt noch weniger Ahnung als von Script-Fu.