Mit Linux Bilder verkleinern

Das Convert Kommando
Mit der "ImageMagick Suite" kann man Bilder bequem mit dem "convert" Kommando verkleinern.
Soll eine ganzen Unterordner von Bildern abgearbeitet werden, so ist ein Skript notwendig.
Soll eine ganzen Unterordner von Bildern abgearbeitet werden, so ist ein Skript notwendig.
Hier eine Anleitung wie man sich ein Skript entsprechend anlegen kann.
1. Paket
Das Paket "imagemagick" sollte installiert sein
# apt-get install imagemagick
2. Ein einzelnes Bild verkleinern
Im folgenden Beispiel wird ein Bild auf 600 Pixel mit einer Qualität von 80% skaliert.
convert -colorspace rgb original.jpg 600 -quality 80 original-kleiner.jpg
3. Skalieren alle Bilder in einem Ordner
Mit diesem Skript werden alle Bilder in einem Ordner zweifach skaliert.
Dabei wird ein Ordner mit kleinen Thumbnails erzeugt und ein Ordner Images, in dem die
verkleinerten Bilder liegen. Eine gute Basis für den Webauftritt!
Dabei wird ein Ordner mit kleinen Thumbnails erzeugt und ein Ordner Images, in dem die
verkleinerten Bilder liegen. Eine gute Basis für den Webauftritt!
#!/bin/bash # erzeugt aus Bilder images und thumbnails # in den entsprechenden Ordnern # usage $1 muss pfad sein function checkUsage() { if [ -z $1 ]; then echo "Aufruf: $0 [input path]" exit 1 fi } # Erzeugt die Ordner und konverviert alle Bilder # @params: $1 = width $2 = pfad $3 ausgabe unterodner # @usage: convertPics 350 pfad thumbnails function convertPics() { width=$1 path=$2 outpath=$path$3 # ausgabe ordner anlegen createFolders $outpath for bild in $(ls $path | grep jpg) ;do #ziel=`echo $bild | sed s/.JPG/_new.JPG/` in=${path}${bild} out=${outpath}/${ziel}${bild} echo $out convert -colorspace rgb $in -thumbnail $width -quality 80 $out done } function createFolders() { if [ ! -d $1 ]; then mkdir -p $1 fi } # # main # checkUsage $1 path=$1 # Bilder erzeugen convertPics 600 $path images convertPics 100 $path thumbnailsViel Spaß!
You are a guest
or post as a guest
Loading comment...
The comment will be refreshed after 00:00.
Be the first to comment.