blob: d9dde54e6b80985d315c9e3ee1fc4f710cd3b41d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!/bin/sh
case $# in
3)
;;
*)
echo "Usage: $0 <input.svg> <size> <output.png>" 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
|