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.



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!

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

Über uns

Wir sind ein agiles Team von Programmierern und haben uns auf Erweiterungen (extensions) für eine Vielzahl von Systemen spezialisiert. Unsere besondere Stärke ist das entwickeln von Erweiterungen für Shop-Systeme basierend auf dem Magento Framework oder die Entwicklung an Web-Anwendungen mit dem Symfony Framework. Eine weitere Stärke ist die Erweiterung von Content Management Systemen wie beispielsweise Wordpress, Typo3, Drupal und Joomla. Das entwickeln von Apps für Android, Windows und Apple OS Systemen ist selbstverständlich!