#!/bin/sh case $# in 3) ;; *) echo "Usage: $0 " 1>&2 exit 1 ;; esac SVG=$1 SIZE=$2 PNG=$3 SHADOW=$(($SIZE / 16)) OPACITY=60 BLUR=$(($SHADOW / 2)) if [ $BLUR = 0 ]; then BLUR=1 fi SHIFT=$(($SHADOW * 3 / 4)) IMAGE=$(($SIZE - $SHIFT - $BLUR)) TMP=image-$$.png trap "rm $TMP" 0 1 15 rsvg-convert -w $IMAGE -h $IMAGE -o $TMP $SVG convert $TMP \ \( +clone -background black -shadow ${OPACITY}x${BLUR}+${SHIFT}+${SHIFT} \) \ +swap -background none -layers merge -crop ${SIZE}x${SIZE}+0+0 +repage $PNG