Wiederkehrende Aufgabe automatisieren

Hier bekommst du Hilfestellungen zu GIMP
Antworten
GIMPmicha
Beiträge: 12
Registriert: Mi 28. Feb 2024, 14:31
Betriebssystem: MANJARO

Wiederkehrende Aufgabe automatisieren

Beitrag von GIMPmicha »

Folgende Aufgabe soll automatisiert werden:
  • Ein neues Bild mit definierter Größe erstellen
  • Bild per URL oder via Zwischenablage einfügen ODER (bevorzugt) URL und Filename (s.u.) per Skript abfragen
  • Bild auf Inhalt zuschneiden
  • Größe X/Y des Bildes ermitteln
  • Bild skalieren mit festem Seitenverhältnis: Den größeren Wert X oder Y auf 1.920 setzen
  • Bild in definiertes Verzeichnis als .png exportieren, Filename via Zwischenablage oder ???
Bei meiner Recherche habe ich Script-Fu gefunden; das habe ich noch nie genutzt und wollte das Forum nach einem geeigneten Einstieg fragen. Dabei finde ich die Empfehlung für BIMP und die Beschreibungen von @Gimplyworxs.
Die erste Frage also:BIMP oder Script-Fu? Worin unterscheiden sich die Lösungen?
Und dann: Ein Tutorial für diesen Lösung ...
Benutzeravatar
Gimplyworxs
Beiträge: 3218
Registriert: Sa 22. Aug 2020, 09:11
Wohnort: Crailsheim, BaWü
Deine Galerie: https://gimp-werkstatt.de/werkstatt-galerie/gimplyworxs
Betriebssystem: Linux Mint 20.1 MATE

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von Gimplyworxs »

Die erste Frage also: BIMP oder Script-Fu? Worin unterscheiden sich die Lösungen?
Einfach gesagt:
BIMP hat eine grafische Oberfläche, so dass du alles per Klick-and-play erledigen kannst.
Script-Fu: da schreibst du dir in einem Editor ein kleines Programm.

Für Script-Fu gibts hier im Forum eine kleine Serie von Klara Fall:
viewtopic.php?t=409
Ansonsten gibts vergleichsweise wenig zu Script-Fu. Wenn du englisch kannst, gäb's hier noch eine kleine Einführung auf YT:
https://www.youtube.com/playlist?list=P ... 821B2370D4

Es gibt außerdem die Möglichkeit, statt Script-Fu Python zu verwenden.
Allerdings mit GIMP 2.10 nur Python2 und das ist bei vielen Distris schon ausrangiert, da uralt und eigentlich mausetot.
Ob dein GIMP Python Unterstützung hat? Schau mal nach, ob unter Filters ein Eintrag Python-Fu > Konsole existiert.
(Wenn nicht, ließe sich's nachrüsten).
Auch dafür gibts ne ( englische) Einführungsserie hier:
https://www.youtube.com/playlist?list=P ... V08wxdnWt-


Python ist halt erheblich übersichtlicher zu schreiben und zu lesen.

Edit gw:
Eventuell wäre auch eine Lösung mit Imagemagick (also ohne GIMP) denkbar.
Viele Grüße
Gimplyworxs

Bild
Benutzeravatar
anke
Site Admin
Beiträge: 2086
Registriert: Fr 21. Aug 2020, 20:54
Wohnort: Osnabrück
Deine Galerie: https://gimp-werkstatt.de/werkstatt-galerie/eleanora/
Betriebssystem: XUbuntu
Kontaktdaten:

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von anke »

Zu Script-Fu haben wir hier auf der Webseite auch ein paar Tutorials --> Scripten mit Scheme / Script-Fu
Ist schon ein bisschen älter, aber Sript-Fu hat sich ja nicht geändert.
Viele Grüße
Anke

Wer denkt, dass Administratoren administrieren,
und Moderatoren moderieren,
denkt auch das Zitronenfalter Zitronen falten :mrgreen:
Meine Galerie
Meine alte Galerie
GIMPmicha
Beiträge: 12
Registriert: Mi 28. Feb 2024, 14:31
Betriebssystem: MANJARO

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von GIMPmicha »

Danke für die Hinweise. Am besten gefällt mir
Gimplyworxs hat geschrieben: Mo 22. Jul 2024, 10:45 ... Eventuell wäre auch eine Lösung mit Imagemagick (also ohne GIMP) denkbar.
Dazu habe ich diese Seite gefunden; hast Du so etwas gemeint?
Dann würde ich BASH-Script bauen, das auch die Interaktion mit dem Nutzer (Abfrage von Bild-URL und Ziel-Dateiname) erledigt. Als Aufgaben für Imagemagick bleiben:
  • Bild per abgefragter URL holen
  • Größe X/Y des Bildes ermitteln
  • Bild skalieren mit festem Seitenverhältnis: Den größeren Wert X oder Y auf 1.920 setzen
  • Bild unter dem abgefragten Ziel-Dateinamen speichern.
Denkanstöße und Hinweise auf die benötigten Imagemagick-Befehle sind willkommen, denn mehr als

Code: Alles auswählen

$ identify https://upload.wikimedia.org/wikipedia/commons/6/68/Joe_Biden_presidential_portrait.jpg
habe ich noch nicht geschafft ...
GIMPmicha
Beiträge: 12
Registriert: Mi 28. Feb 2024, 14:31
Betriebssystem: MANJARO

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von GIMPmicha »

eine erste Lösung:

Code: Alles auswählen

#!/bin/bash
clear
PictureURL="https://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Teatro_Colon_%2816149335130%29.jpg/320px-Teatro_Colon_%2816149335130%29.jpg" # klein 800*600
#PictureURL="https://upload.wikimedia.org/wikipedia/commons/5/57/Dresden%2C_Bautzner_Stra%C3%9Fe_107%2C_17.6.2.40-080348.jpg"  # Querformat
# PictureURL="https://upload.wikimedia.org/wikipedia/commons/6/68/Joe_Biden_presidential_portrait.jpg"  # Hochformat
PictureFile="/home/MeinName/Test.png"

 width=$(identify -format "%w" "$PictureURL")> /dev/null
height=$(identify -format "%h" "$PictureURL")> /dev/null

if [ "$width" -gt "1920" ] || [ "$height" -gt "1920" ]; then     # Größenänderung erforderlich
     if [ "$width" -gt "$height" ]; then
          magick "$PictureURL" -resize '1920x>'  "$PictureFile"
     else
          magick "$PictureURL" -resize 'x1920>'  "$PictureFile"
     fi
else
     magick "$PictureURL" "$PictureFile"     # Original-Größe erhalten
fi
mediainfo "$PictureFile"  | grep -iE "width|height"
Verbesserungsvorschläge willkommen ...
Benutzeravatar
Gimplyworxs
Beiträge: 3218
Registriert: Sa 22. Aug 2020, 09:11
Wohnort: Crailsheim, BaWü
Deine Galerie: https://gimp-werkstatt.de/werkstatt-galerie/gimplyworxs
Betriebssystem: Linux Mint 20.1 MATE

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von Gimplyworxs »

Wenn's dir bei Verbesserungsvorschlägen um die Syntax geht, kann ich Shellcheck nur empfehlen.
https://www.shellcheck.net/
Falls du als Editor VSCodium nimmst, der hat das als Erweiterung verfügbar.

Bin nicht ganz sicher, ob du für resize dich selber ums Größenverhältnis kümmern musst, oder ob imagemagick das nicht selber macht.
Diese Übersicht bringt mich auf die Idee:
https://imagemagick.org/Usage/resize/
Wenn's extra eine Option gibt, das Seitenverhältnis zu ignorieren, sollte es ja standardmäßig drin sein ..

Diese Zeile(18)
magick "$PictureURL" "$PictureFile" # Original-Größe erhalten
bringt nichts.
Könnte so gehen:
magick identify -format "%w %h" $PictureFile
Wenn du nur einen der Werte haben willst, lass den anderen in der Zeile weg.
Viele Grüße
Gimplyworxs

Bild
GIMPmicha
Beiträge: 12
Registriert: Mi 28. Feb 2024, 14:31
Betriebssystem: MANJARO

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von GIMPmicha »

Danke! Der Tipp mit Imagemagick war sehr wertvoll, ist sicher einfacher, als GIMP zu "vergewaltigen" ...
ShellCheck nutze ich, habe es aber hier aus Zeitgründen noch nicht eingesetzt.
Die Sache mit dem Seitenverhältnis habe ich als Automatismus von Imagemagick verstanden (meine Quelle: https://github.com/ImageMagick/ImageMag ... nt-2675836) und deshalb die beiden Zeilen für Landscpe und Portrait mit dem x vorne und hinten:

Code: Alles auswählen

magick "$PictureURL" -resize '1920x>'  "$PictureFile"
magick "$PictureURL" -resize 'x1920>'  "$PictureFile"
Funktioniert bei mir, deshalb die verschiedenen PictureURL zum Testen.
Die Zeile

Code: Alles auswählen

magick "$PictureURL" "$PictureFile" # Original-Größe erhalten
soll kleine Bilder (Höhe und Breite <= 1910) holen und unverändert speichern, funktioniert bei mir ...
Benutzeravatar
Gimplyworxs
Beiträge: 3218
Registriert: Sa 22. Aug 2020, 09:11
Wohnort: Crailsheim, BaWü
Deine Galerie: https://gimp-werkstatt.de/werkstatt-galerie/gimplyworxs
Betriebssystem: Linux Mint 20.1 MATE

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von Gimplyworxs »

Ich hatte mir mal vor langer Zeit ein Script mit ImageMagick erstellt, um Bilder für's Web zu verkleinern und ein Wasserzeichen darauf zu platzieren. Weiß nicht, ob's für dich hilfreich ist. Kannst aber gerne mal reinschauen:
https://e.pcloud.link/publink/show?code ... dA7HD2lvPX
Das ist noch für ImageMagick 6.x. Bei der 7er Reihe muss vor dem IM Befehl noch ein "magick" kommen, also magick composite, z.B.
Viele Grüße
Gimplyworxs

Bild
Benutzeravatar
Gimplyworxs
Beiträge: 3218
Registriert: Sa 22. Aug 2020, 09:11
Wohnort: Crailsheim, BaWü
Deine Galerie: https://gimp-werkstatt.de/werkstatt-galerie/gimplyworxs
Betriebssystem: Linux Mint 20.1 MATE

Re: Wiederkehrende Aufgabe automatisieren

Beitrag von Gimplyworxs »

soll kleine Bilder (Höhe und Breite <= 1910) holen und unverändert speichern, funktioniert bei mir ...
ahh ok, hatte die Absicht dahinter falsch erkannt.
Viele Grüße
Gimplyworxs

Bild
Antworten