mit makefile bilder convertieren (ImageMagick)

F

fwalser

Grünschnabel
Hi,
ich würde gern mit einer Makefile alle Bilder in ein bestimmtes format konvertieren.
Zum konvertieren möchte ich ImageMagick benutzen. Das Problem an der Geschichte ist, ich weiss leider nicht wie ich das richtig angebe (bin leider etwas neu in dieser Materie) :D

Wollte dies mit einer Schleife umsetzen.

Makefile
Code:
# SHELL Initialisierung
SHELL = /bin/sh

all: convert

convert:
		for i in *.jpg ; do convert "$i" "${i%.jpg}.png" ; done

Die Schleife an sich müsste ja stimmen ?!.
Das Problem dürfte der Pfad sein (Weiss leider nicht, wie ich diesen in einer Makefile richtig angebe ? bzw. ob dieser stimmt ? Der Pfad sollte der selbe sein, wie die der Makefile).

Desweiteren hab ich mir überlegt die umgewandelten Bilder als kleine thumbs in eine HTML-Seite zu schreiben. Kann mir hier jemand einen Tipp dazu geben ?

zum erstellen der HTML Seite dacht ich an sowas wie

Code:
%.html : HTML.sh

HTML.sh
Code:
#!/bin/bash


cat HTML > "$name".html
<html>

<body>

<p><img src="bild1.png"></p>

<p><img src="bild2.png"></p>

<p><img src="bild3.png"></p>

</body>
</html>
 
Also das konvertieren der Bilder hab ich nun geschafft...

Code:
convert:
		for i in $(JPG) ; do convert "$$i" "$${i%.jpg}.png" ; done

nun wär ich sehr dankbar für evtl. hilfe bzgl. der HTML ;)
 
Hi,

Nachteil bei der Lösung mit Schleife ist natürlich, dass beim Aufruf von 'make convert' die Thumbnails für alle Bilder im aktuellen Verzeichnis neu berechnet würden. Das kannst du einfach mit einer Pattern- (bei GNU Make) bzw. .SUFFIXES-Regel umgehen, etwa so:
Code:
# @(#)$Id$

JPEGS = $(shell ls *.jpg)
THUMBS = $(JPEGS:.jpg=.png)

%.png: %.jpg:
	convert -size 200x200 $< -thumbnail '100x100>' -gravity center -auto-orient -extent 100x100 $@

all: index.html
	@echo All done.

index.html: $(THUMBS)
	( echo "<html><body>"; \
	  ls *.png | sed -e 's,\(.*\).png,<a href="\1.jpg"><img src="&"></a>,'; \
	  echo "</body></html>" ) >$@

Damit sollte ein Aufruf von 'make' zunächst für neu eingestellte Bilder die Thumbs erzeugen, und danach eine neue index.html mit allen Bildern zusammenbauen.

Gruss, A.
 
Nachteil bei der Lösung mit Schleife ist natürlich, dass beim Aufruf von 'make convert' die Thumbnails für alle Bilder im aktuellen Verzeichnis neu berechnet würden.

Perfekt, dieses Problem wollt ich gerade ansprechen ;) ist jetzt ja aber gelöst
 

Ähnliche Themen

Habe da ein Problem was nicht wegbekomme

Bilder aus Verzeichnis konvertieren

Kleine HP für Memberregistrierung

Onlineumfrage programmieren (mehrseitige HTML Formular an PHP übergeben)

Mit ImageMagick eine Pdf Datei erstellen

Zurück
Oben