pointer - annna - Annna the nice friendly bot. HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/ DIR Log DIR Files DIR Refs DIR Tags DIR README --- pointer (1177B) --- 1 #!/bin/sh 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 ;; 23 image/png*) 24 # imagemagick text draw on png files is broken, 25 # tested on gentoo imagemagick version 7.1.0-48 26 in="$(mktemp tmp.XXXXXXXX.jpg)" 27 magick convert "$1" "$in" 28 if [ $? -gt 0 ]; 29 then 30 rm "${in}" 31 die 32 fi 33 rminfile=1 34 ;; 35 image/*) 36 in="$1" 37 ;; 38 *) 39 die "file type '${mimetype}' not supported" 40 ;; 41 esac 42 43 n="${1##*/}" 44 n="${n%.*}" 45 tmp="$(mktemp tmp.XXXXXXXXX.jpg)" 46 magick convert \ 47 \( \ 48 +append \ 49 "${in}" \ 50 /home/annna/bin/modules/filter-media/pointer.jpg \ 51 -resize x500 \ 52 \) \ 53 -pointsize 50 -fill white \ 54 -stroke black -strokewidth 1 \ 55 -gravity southwest \ 56 -gravity northeast \ 57 -draw "text -422,+20 '*${n}'" \ 58 "$tmp" 59 # -draw "text +10,+10 '${n}'" \ 60 exitcode=$? 61 if [ $exitcode -eq 0 ]; 62 then 63 cp "${tmp}" "$2" 64 chmod o+r "$2" 65 fi 66 67 # cleanup 68 rm "${tmp}" 69 [ $rminfile -eq 1 ] && rm "${in}" 70 71 exit $exitcode 72