Introduction
Introduction Statistics Contact Development Disclaimer Help
add tshirt filter - annna - Annna the nice friendly bot.
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit 92d55bc9f27aaa4426da461601a42c7635ad8071
parent b222826ef4b61793d0324c90da2316948cbec91d
Author: Anders Damsgaard <[email protected]>
Date: Tue, 17 Jan 2023 09:01:30 +0100
add tshirt filter
Signed-off-by: Annna Robert-Houdin <[email protected]>
Diffstat:
M annna-message-common | 8 ++++++--
A tshirt-design | 75 +++++++++++++++++++++++++++++…
2 files changed, 81 insertions(+), 2 deletions(-)
---
diff --git a/annna-message-common b/annna-message-common
@@ -930,6 +930,7 @@ case "${text}" in
"${ircuser}, please technodrugs #"*|\
"${ircuser}, please thin #"*|\
"${ircuser}, please torture #"*|\
+"${ircuser}, please tshirt #"*|\
"${ircuser}, please trumpapprove #"*|\
"${ircuser}, please wat #"*|\
"${ircuser}, please widen #"*|\
@@ -949,7 +950,7 @@ case "${text}" in
# outfile and outpath filtering for the cache.
case "${filter}" in
- antidepressant|ritual|putin)
+ antidepressant|ritual|putin|tshirt)
outfile="${outfile%.*}.jpg"
outpath="${outpath%.*}.jpg"
;;
@@ -979,7 +980,7 @@ case "${text}" in
if [ -s "${outpath}" ];
then
annna-say -s "${server}" -c "${channel}" "${user}, gop…
- exit 0
+ exit 0
fi
case "${filter}" in
@@ -992,6 +993,9 @@ case "${text}" in
putin)
putin-os "${inpath}" "${outpath}" 2>&1 >/dev/null
;;
+ tshirt)
+ tshirt-design "${inpath}" "${outpath}" 2>&1 >/dev/null
+ ;;
*)
ffmpeg-effect "${filter}" "${inpath}" "${outpath}" 2>&…
;;
diff --git a/tshirt-design b/tshirt-design
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+mediadir=/home/annna/bin/modules/filter-media
+
+die() {
+ printf '%s\n' "$1" >&2
+ exit 1
+}
+
+if test $# -ne 2; then
+ die "usage: ${0##*/} <file> <outimagefile>"
+fi
+
+mimetype="$(file -ib "$1")"
+case "$mimetype" in
+ video/*)
+ in="$(mktemp).jpg"
+ ffmpeg -i "$1" -frames:v 1 "$in";;
+ image/*)
+ in="$1";;
+ *)
+ die "file type '${mimetype}' not supported";;
+esac
+
+shirt="$(shuf -n 1 -e "${mediadir}"/tshirt*.jpg)"
+
+case "$shirt" in
+ */tshirt1.jpg)
+ size=400x600
+ geometry=+0+50
+ rotate=-3 ;;
+ */tshirt2.jpg)
+ size=350x400
+ geometry=-10-75
+ rotate=0 ;;
+ */tshirt3.jpg)
+ size=180x350
+ geometry=+0+50
+ rotate=-2 ;;
+ */tshirt4.jpg)
+ size=200x450
+ geometry=-10+50
+ rotate=0 ;;
+ */tshirt5.jpg)
+ size=200x450
+ geometry=+5+100
+ rotate=0 ;;
+ */tshirt6.jpg)
+ size=300x450
+ geometry=+5-50
+ rotate=0 ;;
+ */tshirt7.jpg)
+ size=400x550
+ geometry=+5+0
+ rotate=0 ;;
+ */tshirt8.jpg)
+ size=300x500
+ geometry=-15+80
+ rotate=-2 ;;
+ *)
+ die "unknown tshirt: $tshirt";;
+esac
+
+convert "$shirt" \
+ \( "${in}" \
+ -matte \
+ -virtual-pixel transparent \
+ -background transparent \
+ -resize "$size" \
+ -transparent white \
+ -rotate "$rotate" \
+ \) \
+ -geometry "$geometry" \
+ -gravity center \
+ -composite "$2"
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.