Inhalt

Inhaltsverzeichnis

  1. Inhalt
  2. Intro
  3. picresize

Intro

picresize wandelt alle Bilder die sich im Ordner befinden auf eine neue Grösse. Man gibt eine maximale Kantenlänge an in Pixel, die andere Kante wird automatisch proporzional angepasst. Die gewandelten Bilder landen in einem Unterordner.

z.b picresize 500 png

Mögliche Ausgang Formate: bmp, gif, jpeg, jpg, png

picresize

/!\ Die oberste Zeile darf beim Speichern in eine Datei, kein Leerzeichen am Anfang haben!

 #!/bin/bash
# scriptname: picresize 
#
# Installieren:
# chown root.root /usr/local/bin/picresize
# chmod 755 /usr/local/bin/picresize
#
# Benötigte Programme: imagemagick
# apt-get install imagemagick


vers="November 2012"
outputfolder="picresize_output_"`date --date= +%d_%m_%y`





if [ -z "$1" ]; then
        cmd=help
        else
        pixel="$1"
        cmd=doresize
fi

if [ "$1" == "help" ]; then
        cmd=help
fi

if [ -z "$2" ]; then
        format="png"
        else
        if [ "$2" = "bmp" ]||[ "$2" = "gif" ]||[ "$2" = "jpeg" ]||[ "$2" = "jpg" ]||[ "$2" = "png" ];then       
        format="$2"
        else
        cmd=formatfehler
        fi
fi


case "$cmd" in

doresize)
        count=0
        countall=0
        pwd0=`pwd`
        
        mkdir -p "$outputfolder"/"$pixel"/"$format"
        
        countall=`ls *.* | wc -l`
        for file in  *.*; do
                        
                if [ -d "$file" ]; then
                        echo
                        echo
                        echo  -n Nichts zu tun für Ordner "$pwd0"/"$file";
                        echo
                else
                        if [ -e "$file" ]; then
                        count=$[$count+1]
                        echo 
                        echo Bearbeite "$count" von "$countall" Dateien: "$pwd0"/"$file"
                        output=`echo "$file" | sed s/\.[^\.]*$//`
                        
                        convert "$file" -resize "$pixel"x"$pixel" "$outputfolder"/"$pixel"/"$format"/"$output"."$format"
                                        
                        echo -n " ""$count". gewandeltes Bild gespeichert in "$pwd0"/"$outputfolder"/"$pixel"/"$format"/"$output"."$format"
                        echo
                        fi
                        fi
        done
        ;;

formatfehler)
        echo
        echo "Falsches Format angegeben"
        echo
        ;;

help)
        echo
        echo "                  Hilfe zu picresize ""$vers"
        echo "========================================================================="
        echo " Wandelt alle Bilder die sich im aktuellen Ordner befinden zu einer neuen "
        echo " Grösse."
        echo
        echo "picresize 400 jpg    Wandelt Proporzional auf maximal 400pixel und als jpg"
        echo "Ohne Format Angabe wird png verwendet."
        echo 
        echo "Formate: bmp, gif, jpeg,  jpg,  png"
        echo
        ;;

esac


KategorieLinuxMultimedia

picresize (zuletzt geändert am 2012-11-20 00:48:09 durch 134-29)