pointer - annna - Annna the nice friendly bot.
(HTM) git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Tags
(DIR) README
---
pointer (1148B)
---
1 #!/bin/bash
2
3 die() {
4 [ -n "$1" ] && printf '%s\n' "$1" >&2
5 exit 1
6 }
7
8 [ $# -ne 2 ] && die "usage: ${0##*/} <file> <outimagefile>"
9
10 mimetype="$(file -ib "$1")"
11 rminfile=0
12 case "$mimetype" in
13 video/*)
14 in="$(mktemp -u tmp.XXXXXXXX.jpg)"
15 ffmpeg -i "$1" -frames:v 1 "$in"
16 if [ $? -gt 0 ];
17 then
18 [ -e "${in}" ] && rm -f "${in}"
19 die
20 fi
21 rminfile=1;;
22 image/png*)
23 # imagemagick text draw on png files is broken,
24 # tested on gentoo imagemagick version 7.1.0-48
25 in="$(mktemp tmp.XXXXXXXX.jpg)"
26 magick "$1" "$in"
27 if [ $? -gt 0 ];
28 then
29 rm "${in}"
30 die
31 fi
32 rminfile=1;;
33 image/*) in="$1";;
34 *) die "file type '${mimetype}' not supported";;
35 esac
36
37 n="${1##*/}"
38 n="${n%.*}"
39 tmp="$(mktemp tmp.XXXXXXXXX.jpg)"
40 magick \
41 \( \
42 "${in}" \
43 "${ANNNA_MODBASE}/filter-media/pointer.jpg" \
44 -resize x500 \
45 +append \
46 \) \
47 -pointsize 50 -fill white \
48 -stroke black -strokewidth 1 \
49 -gravity southwest \
50 -gravity northeast \
51 -draw "text -422,+20 '*${n}'" \
52 "$tmp"
53 # -draw "text +10,+10 '${n}'" \
54 exitcode=$?
55 if [ $exitcode -eq 0 ];
56 then
57 cp "${tmp}" "$2"
58 chmod o+r "$2"
59 fi
60
61 # cleanup
62 rm "${tmp}"
63 [ $rminfile -eq 1 ] && rm "${in}"
64
65 exit $exitcode
66