#!/bin/bash # picseq - Generate a html thumbnail index from a group of images # thumbnailGeometry="200x100" webGeometry="900x700>" outHtml="$(date +%Y%m%d.%H%M%S).html" HAVE_J2H=$(which j2h 2> /dev/null > /dev/null ; echo $?) if [ "${HAVE_J2H}" -eq "1" ] then echo "\"j2h\" doesn't seem to be available: thumbnails in the index file" echo "will link directly to the .web.jpg files." ext=".web.jpg" else ext=".html" fi if [ "$#" -eq "0" ] then echo " picseq <images>" echo "" echo " picseq takes images (leaving the original" echo " alone) and generates two jpgs, one ${webGeometry} max" echo " for web display, and another ${thumbnailGeometry} max for a web thumbnail," echo " and an html wrapper for the larger image (if \"j2h\" is available)." echo " It also generates an HTML file index linking the three." echo "" exit fi echo " <html> <head> <title>${outHtml} Image Thumbnail Gallery</title> </head> <body> <h1>${outHtml} Image Thumbnail Gallery</h1> " > ${outHtml} echo "$# images to process." while [ "$1x" != "x" ] do pic="$1" imgName="${pic%.*}" extension="${pic##*.}" # "convert" leaves the original alone but mogrify overwrites the original: if [ ${extension} = "jpg" ] || [ ${extension} = "jpeg" ] then cp ${imgName}.jpg ${imgName}.web.jpg cp ${imgName}.jpg ${imgName}.thumb.jpg else convert ${pic} ${imgName}.jpg cp ${imgName}.jpg ${imgName}.web.jpg mv ${imgName}.jpg ${imgName}.thumb.jpg fi mogrify -geometry ${webGeometry} ${imgName}.web.jpg mogrify -geometry ${thumbnailGeometry} ${imgName}.thumb.jpg # Put out a progress indicator for each image: echo -n "." if [ "${HAVE_J2H}" -eq "0" ] then j2h ${imgName}.web.jpg fi echo "<a href=\"${imgName}${ext}\"><img src=\"${imgName}.thumb.jpg\"></a>" >> ${outHtml} shift done echo " </body> </html> " >> ${outHtml} echo "" echo "Index file is ${outHtml}" echo ""