PDA

Afficher la version complète : Script : genthumb



Temet
11/08/2007, 14h42
Nom du script : genthumb


Usages :

$genthumb image.jpg
$genthumb image1.jpg image2.png
$genthumb *.png


Commentaires :
- /!\ Nécessite ImageMagick /!\
- Gaffe, avec les png la miniature reste grosse en terme d'espace disque.
- Ca donne un truc de ce style :
http://goondy.free.fr/Images/batop-thumb.jpg (http://goondy.free.fr/Images/batop.jpg)


code :

#!/bin/bash

# thanks to Remi, Anvil & NaiosKAE The Korrigan
# verifying usage
if [ "$#" = "0" -o "$1" = "-h" -o "$1" = "--help" ]; then
echo Usage : $(basename $0) image [ image ... ]
echo Used to generate thumbnails of a list of images.
exit 1
fi

# loop that enables the treatment of a list of images
for i in "$@"; do
# verifying file
if ! [ -f "$i" ]; then
echo "$i" : file does not exist
exit 1
fi

# get image infos
iinfos=($(identify -format "%m %wx%h %e %b" "$i"))

itype=${iinfos[0]}
resolution=${iinfos[1]}
extension=${iinfos[2]}
isize=${iinfos[3]}
name=$(basename "$i" .${iinfos[2]})

# convert size to human readable format
if [ $isize -ge 1048576 ]; then
sizeh="$(( isize / 1048576 )) Mo"
elif [ $isize -ge 1024 ]; then
sizeh="$(( isize / 1024 )) Ko"
else
sizeh="$isize o"
fi

# resize image and add infos
convert "$i" -resize 300x182 -gravity South -background Black -fill \
white -splice 0x18 -draw "text 0,2 '$itype : $resolution - $sizeh'" \
"$name"-thumb.$extension
done


PS : si vous voulez changer la taille ou autre, à vous de bidouiller la ligne "convert".
PS2 : si vous voulez que les miniatures prennent moins de place, changez le "$extension" de l'avant dernière ligne en "jpg". Ça sera plus efficace sur les png.