Am Sa, 13 Aug 2011 15:00:49 CEST schrieb Rüdiger Thies:
Am Freitag, 12. August 2011 schrieb chindog:
Hallo liebe Mitleser, Vielleicht kann mir hier bitte mal jemand helfen. Ich habe hier einen Ordner voll Bilder, die ich auf einen Server hochladen muß. Das Problem aber ist, das die Bilder "zu groß" sind, ca 1 MB pro stück, die hochgeladenen Bilder dürfen aber 500 kb nicht überschreiten. Gibt es da eine Möglichkeit, das irgendwie hin zu bekommen. Danke für jeden Tipp, Axel
Hi Axel,
vielleicht hilft das:
for i in *.jpg; do convert -quality 100 -scale 444x444 $i neues_verzeichnis/${i}; done
Erklärungen gibts bei http://www.imagemagick.org/script/index.php
-quality 100 ??? -scale ??? Standardquality für Web ist 75 und wenn schon, 100 ergibt in der Regel eine schlechtere Qualität als 98, das man durch Vergleichen der Anzahl der Farben analysieren kann. Folgend ein Vorschlag für ein Skript, habe es aber nicht getestet. Folgenden Text zwischen den Linien zB als /usr/local/bin/verkleinern.sh abspeichern und dann mit chmod +x ausführbar machen. ungetestet! _____________________________________________________ #!/bin/bash ORIGINALDIR="/meine_fotos" # entsprechend ändern # sucht alle jpg und JPG-Fotos unterhalb des Fotoverzeichnisses # sortiert sie und arbeitet alle gefunden Fotos ab, # sodass man sieht wie weit das Script schon ist # Angaben zum Teil redundant, um Änderungen zu erleichtern find "$ORIGINALDIR" -type f -regex ".*\(jpg\|JPG\)" \ | sort | while read -r FOTO; do # erzeugt in /tmp eine Ordnerstruktur wie im Original WEBDIR="/tmp/"`dirname "$FOTO"` mkdir -p "$WEBDIR" # ein Name für das Webfoto wird definiert WEBFOTO="$WEBDIR""/web_"`basename "$FOTO"` # fragt die Dateigröße ab ORIGINALSIZE=`stat -c "%s" "$FOTO"` if [ $ORIGINALSIZE -gt 500000 ] ; then # Foto zu groß # erzeugt eine Größe für Standard 19"-Monitore (1280x) # die Höhe ergibt sich unter Erhaltung der Proportion # Standard-Webqualität mit 75 (redundant, da default) echo "$FOTO wird verkleinert" convert "$FOTO" -resize 1280x -quality 75 "$WEBFOTO" echo else # kopiert nur die Datei echo "$FOTO wird kopiert" cp "$FOTO" "$WEBFOTO" echo fi done _____________________________________________________ Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org