ePrivacy and GPDR Cookie Consent by Cookie Consent
Unterstütze unsere Tutorials mit einem WerbeClick!

Linux Tipps

Mit Linux Bilder verkleinern

1 Comment

 

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ß!
 
 
 
Say something here...
You are a guest
or post as a guest
People in conversation:
Loading comment... The comment will be refreshed after 00:00.
  • This commment is unpublished.
    Paul · 1 years ago
    Danke für tolles Script.
    Zeile 26 statt:
    in=${path}${bild}
    in=${path}/${bild}
    • This commment is unpublished.
      stefan · 1 years ago
      @Paul Hallo Paul,
      es freut uns, dass unser Script dir weiter geholfen hat.
      Da wir unsere Pfadangaben immer mit einem Slash abschließen bzw. mit der Tabulator-Taste autocompleten lassen, ist uns diese Problem bisher nicht aufgefallen. $path ist ja ein Parameter und kann auf der Shell vervollständigt werden.

      Viel Spaß weiterhin
      Stefan
Unterstütze unsere Tutorials mit einem Werbeclick!

Über uns

Wir sind ein agiles Team von Softwareentwicklungen, UX-Designern und IT-Supporten und haben uns auf individuelle Softwarelösung für den Mittelstand spezialisiert. Unsere besondere Stärken sind  Web-Anwendungen mit dem Symfony Framework sowie individuelle Industrielösungen für Produktionslinien, Servicetechniker oder Inspekteure zu entwickeln. 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!