Das Convert Kommando

Mit der „ImageMagick Suite“ kann man Bilder bequem mit dem „convert“ Kommando verkleinern.
Soll ein ganzer Unterordner von Bildern abgearbeitet werden, so ist ein Skript notwendig.
Hier eine Anleitung wie man sich ein Skript entsprechend anlegen kann.

Das Paket „imagemagick“ sollte installiert sein

1. Paket

# 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!

#!/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 thumbnails

Viel Spaß!