You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
1.8 KiB
90 lines
1.8 KiB
#!/bin/bash
|
|
|
|
COLOR="green"
|
|
TARGET_EXTENSION="jpg"
|
|
|
|
while [[ "$#" -gt 0 ]]; do
|
|
case $1 in
|
|
-i|--imgpath) IMG_PATH="${2}"; shift ;;
|
|
-1|--line1) line[0]="${2}"; shift ;;
|
|
-2|--line2) line[1]="${2}"; shift ;;
|
|
-t|--target) TARGET="${2}"; shift ;;
|
|
-b|--baseimg) BASE_IMG="${2}"; shift ;;
|
|
*) echo "Unknown parameter passed: $1"; exit 1 ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ ! -e "${IMG_PATH}" ]
|
|
then
|
|
echo "Cannot find path for images \"${IMG_PATH}\""
|
|
exit 10
|
|
fi
|
|
|
|
CHAR_PATH="${IMG_PATH}/LCD_characters_${COLOR}"
|
|
|
|
if [ ! -e "${CHAR_PATH}" ]
|
|
then
|
|
echo "Cannot find path for character-images \"${CHAR_PATH}\""
|
|
exit 11
|
|
fi
|
|
|
|
if [ ${BASE_IMG} ]
|
|
then
|
|
cp "${IMG_PATH}/manual-images/${BASE_IMG}.png" /tmp/LCD_$$.png
|
|
else
|
|
cp "${IMG_PATH}/LCD_green.png" /tmp/LCD_$$.png
|
|
fi
|
|
|
|
special_flag="false"
|
|
for (( n=0; n<2; n++ ))
|
|
do
|
|
y=$( bc -l <<<"50 + $n * 50" )
|
|
xpos=0
|
|
for (( i=0; i<${#line[$n]}; i++ ))
|
|
do
|
|
c=${line[${n}]:${i}:1}
|
|
if [[ "${c}" == "%" ]]
|
|
then
|
|
if [[ "${special_flag}" == "false" ]]
|
|
then
|
|
special_flag="true"
|
|
special=""
|
|
continue
|
|
else
|
|
special_flag="false"
|
|
if [ ! -e "${CHAR_PATH}/${special}.png" ]
|
|
then
|
|
echo "Cannot find \"${CHAR_PATH}/${special}.png\"."
|
|
c=" "
|
|
else
|
|
c=${special}
|
|
fi
|
|
fi
|
|
fi
|
|
if [[ "${special_flag}" == "true" ]]
|
|
then
|
|
special="${special}${c}"
|
|
continue
|
|
fi
|
|
xpos=$((xpos + 1))
|
|
if [[ "${c}" != " " ]]
|
|
then
|
|
if [[ ${c} == "." ]]
|
|
then
|
|
c="dot"
|
|
fi
|
|
x=$( bc -l <<<"230 + ${xpos} * 30" )
|
|
composite -gravity NorthWest -geometry "+${x}+${y}" "${CHAR_PATH}/${c}.png" /tmp/LCD_$$.png /tmp/LCD_$$.png
|
|
fi
|
|
done
|
|
done
|
|
|
|
convert /tmp/LCD_$$.png /tmp/LCD_$$.${TARGET_EXTENSION}
|
|
|
|
if [ "${TARGET}" ]
|
|
then
|
|
mv /tmp/LCD_$$.${TARGET_EXTENSION} "${TARGET}"
|
|
else
|
|
echo "Created /tmp/LCD_$$.${TARGET_EXTENSION}"
|
|
fi
|
|
|