DavX/Code/Vorschau.sh

aus Degupedia, der freien Wissensdatenbank

(Unterschied zwischen Versionen)
Version vom 00:31, 28. Dez 2019
DavX (Diskussion | Beiträge)

← Go to previous diff
Aktuelle Version
DavX (Diskussion | Beiträge)
Vorschau mit Fortschrittanzeige
Zeile 74: Zeile 74:
#terminal-notifier -message "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR" #terminal-notifier -message "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR"
exit 0; exit 0;
 +
 +Was tut die Fortschrittsanzeige? Sie zeigt an, wieviele Bilder bereits bearbeitet wurden und den Dateinamen des gerade verarbeiteten Bildes. Als zusätzlicher Komfort lässt sich das Skript bzw. die Bearbeitsungsschleife mit der Tastenkombination Ctrl. + C abbrechen. Dadurch wird die Benutzung bei grossen Datenmengen komfortabler.
==Anpassungen an Mac== ==Anpassungen an Mac==

Aktuelle Version

vorschau.sh ist ein Shellscript für die Bash, welches Vorschaubilder aus JPEG-Dateien erstellt. Es nutzt dabei Notify-Send, um auf grafischen Desktops wie Gnome, LXDE oder Xfce eine Benachrichtigung zu versenden, wenn alle Dateien umbenannt wurden.

Datei vorschau_v3.sh

Version: 3.0

#!/bin/bash
IMGSIZE="480"
IMGDIR="img$IMGSIZE"
IMGSIZE=${IMGSIZE}x${IMGSIZE}
LOWERCASE=1

if [ ! -d $IMGDIR ]
then
mkdir -p $IMGDIR
fi

if [ $LOWERCASE -gt 0 ]
then
	for file in *.JPG
	do
	mv $file ${file%.JPG}.jpg
	done
fi

for i in *.jpg
do
convert -size $IMGSIZE $i -resize $IMGSIZE -auto-orient -quality 65 +profile "*" $IMGDIR/$i
done
PDIR=`pwd`
notify-send -t 1000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR"
exit 0;

Vorschau mit Fortschrittanzeige

#!/bin/bash
IMGSIZE="1200"
IMGDIR="img$IMGSIZE"
IMGSIZE=${IMGSIZE}x${IMGSIZE}
LOWERCASE=0

# Thumbnailer mit Fortschrittanzeige
# Neue Funktionen
# - Fortschrittanzeige
# - Abbrechen mit Ctrl + C

if [ ! -d $IMGDIR ]
then
mkdir -p $IMGDIR
fi

if [ $LOWERCASE -gt 0 ]
then
	for file in *.JPG
	do
	mv $file ${file%.JPG}.jpg
	done
fi

echo "Calculate Progress ..."
num=$(ls -1q *.jpg | wc -l)

count=0
for i in *.jpg
do
count=$((count+1))
tput cuu 1 && tput el
echo "Progress: $count of $num [ $i ]"
convert -size $IMGSIZE $i -resize $IMGSIZE -auto-orient -quality 65 +profile "*" $IMGDIR/$i || break
done

PDIR=`pwd`
notify-send -t 3000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR"
#terminal-notifier -message "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR"
exit 0;

Was tut die Fortschrittsanzeige? Sie zeigt an, wieviele Bilder bereits bearbeitet wurden und den Dateinamen des gerade verarbeiteten Bildes. Als zusätzlicher Komfort lässt sich das Skript bzw. die Bearbeitsungsschleife mit der Tastenkombination Ctrl. + C abbrechen. Dadurch wird die Benutzung bei grossen Datenmengen komfortabler.

Anpassungen an Mac

Damit die Skripte unter Mac laufen, ist es notwendig einerseits alle Tools zu installieren und andererseits (falls erwünscht) einen Benachrichtigungsdienst für Mac zu installieren. Dazu eignet sich beispielsweise der terminal-notifier, welcher sich bequem über Homebrew installieren lässt. Wichtig ist, dass die Skripte vor der Nutzung angepasst werden. Für eine einfachere Übersicht ist es sinnvoll, den Skripten den Suffix _mac zu geben, damit man weiss, welche Skripte angepasst wurden.

  • Homebrew (brew) installieren
  • Imagemagick installieren
  • terminal-notifier installieren
  • Skript anpassen


Ältere Versionen

Version 1.0

Datei vorschau.sh

#!/bin/bash
mkdir -p _res480
for i in *.jpg
do
convert -size 480x480 $i -resize 480x480 +profile "*" _res480/$i
done

Version 1.1

Verbesserte Version von vorschau.sh

#!/bin/bash
IMGDIR="img640"
if [ ! -d $IMGDIR ]
then
mkdir -p $IMGDIR
fi
for i in *.jpg
do
convert -size 480x480 $i -resize 640x640 -auto-orient +profile "*" $IMGDIR/$i
done
PDIR=`pwd`
notify-send -t 1000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR"
exit 0;

Die verbesserte Version verkleinert Bilder auf 640 px die längere Seite und nutzt "notify-send" um am Ende das System zu informieren, dass die Bilder verkleinert wurden.

Version 2.0

Datei vorschau_v2.sh

#!/bin/bash
IMGDIR="img1200"
if [ ! -d $IMGDIR ]
then
mkdir -p $IMGDIR
fi
for i in *.jpg
do
convert -size 1200x1200 $i -resize 1200x1200 -auto-orient -quality 65 +profile "*" $IMGDIR/$i
done
PDIR=`pwd`
notify-send -t 1000 'Bilder verkleinern' "Die Bilder wurden verkleinert, sie befinden sich unter $PDIR/$IMGDIR"
exit 0;

In der Version 2 werden die Bilder automatisch gedreht, wenn die Exifdaten entsprechende Informationen enthalten und die Bildqualität wird auf 65% gesetzt (mit -quality 65).

Degupedia.de Logo
'Persönliche Werkzeuge
Länge: cm
Breite: cm
Höhe:  cm
 
Mediawiki Creative Commons Opera Firefox