#!/bin/bash while test $# -gt 0; do DO_SHIFT=: case "$1" in "-i" ) shift INFILE="$1" ;; "-o" ) shift OUTFILE="$1" ;; "-f" ) shift FRAME_ARG=$1 ;; "-b" ) shift BORDER_ARG=$1 ;; esac $DO_SHIFT && shift done if [[ -n "$FRAME_ARG" ]]; then FRAME="-frame $FRAME_ARG" frame=${FRAME_ARG/x*} else frame=0 fi if [[ -n "$BORDER_ARG" ]]; then BORDER="-bordercolor '#6E6E6E' -border $BORDER_ARG" border=${BORDER_ARG/x*} else border=0 fi tsize=$(( 640 - frame - (border * 2) )) convert -size 640x480 "$INFILE" -bordercolor '#6E6E6E' \ $FRAME -thumbnail ${tsize}\> xc:black +swap -gravity center \ -composite "$OUTFILE"