badge-axiom-team/create-badge.sh

49 lines
1.2 KiB
Bash
Raw Normal View History

2023-03-10 16:06:20 +01:00
#!/bin/bash
#set -x
number="$1"
name="$2"
pseudo="$3"
key="$4"
recto_out=recto-out.jpeg
verso_out=verso-out.jpeg
text_to_image () {
text="$1"
fontsize="$2"
2023-03-10 22:27:10 +01:00
maxwidth="$3"
output="$4"
convert -size $((${#text} * $fontsize))x$((2 * $fontsize)) xc:white -gravity center -font "Cantarell-Extra-Bold" -pointsize "$fontsize" -fill black -draw 'text 0,0 "'"$text"'"' "$output"
2023-03-10 16:06:20 +01:00
convert "$output" -trim "$output"
2023-03-10 22:27:10 +01:00
if [ "$(identify -format "%w" "$output")" -gt "$maxwidth" ]; then
convert "$output" -resize "$maxwidth"x "$output"
fi
2023-03-10 16:06:20 +01:00
}
text_to_qrcode () {
text="$1"
2023-03-10 22:27:10 +01:00
width="$2"
output="$3"
2023-03-10 16:17:47 +01:00
qrencode -t PNG -m 1 -s 9 "$text" -o "$output"
2023-03-10 22:27:10 +01:00
convert "$output" -resize "$width"x "$output"
2023-03-10 16:06:20 +01:00
}
# 1. name -> image
2023-03-10 22:27:10 +01:00
text_to_image "$number" 42 470 number.jpeg
text_to_image "$name" 42 470 name.jpeg
text_to_image "$pseudo" 42 470 pseudo.jpeg
text_to_image "$key" 36 950 key.jpeg
text_to_qrcode "$key" 276 qrcode.png
2023-03-10 16:06:20 +01:00
convert verso.jpeg \
number.jpeg -geometry +535+96 -composite \
name.jpeg -geometry +535+260 -composite \
pseudo.jpeg -geometry +535+413 -composite \
2023-03-10 22:27:10 +01:00
key.jpeg -geometry +47+577 -composite \
2023-03-10 16:06:20 +01:00
$verso_out
convert recto.jpeg \
2023-03-10 16:17:47 +01:00
qrcode.png -geometry +693+339 -composite \
2023-03-10 16:06:20 +01:00
$recto_out