Viele kleine Grafiken elegant bearbeiten

violentviper

Lt. Commander
Registriert
Mai 2008
Beiträge
1.838
Hallo,

ich habe zwei Ordner mit jeweils tausend kleinen 40x40px Grafiken. Die Grafiken in Ordner 1 sind veraltet und haben beispielhaft IMMER diesen Aufbau:
821354


In der Ecke rechts ist immer von der selben Größe ein kleines Kästle (Gelb im Beispiel). Das gelbe Kästchen ist genau der Knackpunkt.

In Ordner 2 sind neue Grafikfelder, die die Grafiken aus Ordner 1 ersetzen sollen. Hier mal ein Beispiel für ein neues Wasserfeld:

821355


Problem:
Ich möchte alle alten Grafiken aus Ordner 1 durch die neuen Grafiken aus Ordner 2 ersetzen, sodass aber das gelbe Kästchen aus der alten Grafik automatisch in der neuen Grafik aus Ordner 2 überlagert ist. Das gelbe Kästchen soll also mit übernommen werden. Das sollte zum Schluss so aussehen:

821356


Wenn ich alles von Hand ausschneide und einfüge, werde ich verrückt. Gibt es hierfür eine elegante Lösung? Kann man das irgendwie programmieren, dass das automatisch geht oder gibts ein Tool für sowas? Das wäre echt ein riesiger Benefit.
Die Dateien haben auch alle ähnliche Dateinamen, es lässt sich aus den Dateinamen ableiten, welches das alte Grafikfeld für Wasser ist und welches das dazugehörig neue.
 
Zuletzt bearbeitet:
ImageMagick fällt mir dafür sofort ein.
Geschicktes Kombinieren von bash und ImageMagick sollte eigentlich das Gewünschte können.

Frei in Pseudocode:
Code:
FORALL $image IN $sourcefolder DO
  $tempimage = $image.cut(south-east-corner, 25px x 25px)
  CHANGEDIR $destfolder
  $image.paste(south-east-corner, $tempimage)
*FORALL

Wie das Auschneiden geht, musst du mal googlen oder das manual lesen.
Watermarks lassen sich relativ einfach einfügen. Ein Beispieltutorial hier.
 
  • Gefällt mir
Reaktionen: violentviper und new Account()
Danke für den Tipp, ImageMagick klingt hier vielversprechend.
 
Mit imagemagick: convert <hintergrund> <vordergrund> -composite <ausgabe>
Hintergrund:
821359

Vordergrund:
821360

Ausgabe:
821361
 
  • Gefällt mir
Reaktionen: violentviper
Zurück
Oben