text2image/main.sh

48 lines
1.1 KiB
Bash
Raw Normal View History

2024-12-03 22:33:42 +01:00
#!/usr/bin/env sh
set -e
export LC_ALL='C.UTF8'
help_text() {
printf "
-t path to pango formated text file
how to format: https://usage.imagemagick.org/text/#pango
or as an environment variable IMAGE_TEXT not with path but the text itself
if -t is set the environment variable will be ignored
-p is a path to write the file to. Format is determined by file ending.
or as an environment variable PICTURE_PATH
if -p is set the environment variable will be ignored
"
exit 1
}
# directory of the script itself
SCRIPT_DIR="$(cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P)"
export SCRIPT_DIR
# set defaults
P_PATH="$SCRIPT_DIR/example.jpg"
I_TEXT="$(cat "$SCRIPT_DIR"/text.pango.example 2>/dev/null || echo 'example text')"
# read from environment variables
P_PATH="${PICTURE_PATH:-$P_PATH}"
I_TEXT="${IMAGE_TEXT:-$I_TEXT}"
# options, they override environment variables
while getopts "p:t:" opt
do
case "$opt" in
p) P_PATH="$OPTARG";;
t) I_TEXT=$(cat "$OPTARG");;
*) help_text
esac
done
magick \
-background '#FFFFFF' \
-fill '#000000' \
-font 'FiraCode Nerd Font' \
-pointsize 72 pango:"$I_TEXT" \
"$P_PATH"