Forberede billeder til gallery

Som i kan se på mit wpg2 link har jeg installeret gallery. Problemet er at den server jeg har det hostet på (stort tak til kollegienet) kun understøtter GD som Graphics Toolkits, og denne kan i dette tilfælde ikke bygge thumbnails/resizes hvis billederne bliver for store, samt kan ikke rotere billederne.

Som så meget andet kan dette problem løses med et script til bash som tager sig af at rotere og ændre størrelse på billederne, så de er parate til gallery.

Første del er et interface der tager en path til mappen med billederne, og en skaleringsstørelse.

echo "Starts the pic2gallery script"

while [ $# -gt 0 ]; do
case $1 in
(–help)
echo “pic2gallery is written by Claus Stovgaard – frosteyes.dk”
echo “Use -s for scale and -p for path”
exit 0
;;
(-s)
# Next param is scale
shift
SCALE=$1
;;
(-p)
# Next param is path
shift
FOLDER_PATH=$1
;;
*)
echo “Unknown param: $1”
exit 1
;;
esac
shift
done

Anden del er at rotere billederne ud fra deres exif information

function rotate_jpgpictures(){
for FIL in $FOLDER_PATH*; do
# Only work width the jpg, jpeg, JPG or JPEG files
JPEG_FILES=`echo $FIL | awk '/\.jpg$/ || /\.jpeg$/ || /\.JPG$/ || /\.JPEG$/' `
if [ -n "$JPEG_FILES" ]; then
case `jpegexiforient $JPEG_FILES` in
(1)
echo "$JPEG_FILES do not need rotating"
;;
([2-8])
echo "$JPEG_FILES need rotation, use exifautotran"
exifautotran $JPEG_FILES
;;
(*)
echo "Something wrong with $JPEG_FILES, maybe we can read the exiforient"
;;
esac
fi
done
}

Tredie del er at skalere billedet.

function scale_jpgpictures(){
for FIL in $FOLDER_PATH*; do
# Only work width the jpg, jpeg, JPG or JPEG files
JPEG_FILES=`echo $FIL | awk '/\.jpg$/ || /\.jpeg$/ || /\.JPG$/ || /\.JPEG$/' `
if [ -n "$JPEG_FILES" ]; then
echo "scaling $JPEG_FILES, new picture is named ${FOLDER_PATH}gal_${JPEG_FILES#*/}"
convert -scale $SCALE% $JPEG_FILES ${FOLDER_PATH}gal_${JPEG_FILES#*/}
fi
done
}

Det samlede script kan hentes her pic2gallery.sh , og løser i hvert fald mine problemer med at forberede billeder til gallery

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.