Skip to content
Snippets Groups Projects
Commit de99f265 authored by Rolf Niepraschk's avatar Rolf Niepraschk
Browse files

läuft!

parent c6b83a9a
Branches
No related tags found
No related merge requests found
#!/bin/bash
#
# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-06-26
#
# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern
# neue Messgeräte-Bilder
#
# Parameter 1 = Anzahl der erzeugten Bilddateien
#
MAIN="VAC_TM_21" # device name
IMAGE_DIR=./images
MAX_DIGITS=4 # do not edit!
MAX_FILES=10 # do not edit!
NUMBER_OF_DIGITS=$MAX_DIGITS
SHOW_EXP=true
if [ -n "$1" ]; then
MAX_FILES=$1
fi
if (( $NUMBER_OF_DIGITS > $MAX_DIGITS )); then
NUMBER_OF_DIGITS=$MAX_DIGITS
else
if (( $NUMBER_OF_DIGITS < 1 )); then
NUMBER_OF_DIGITS=1
fi
fi
rm -rf "$IMAGE_DIR"
mkdir -p "$IMAGE_DIR"
dotFile='dot.png'
edotFile='edot.png'
emptyCanvas='xc:transparent'
#---------------------
dotFile='dot.png'
plusFile='plus.png'
minusFile='minus.png'
emptyCanvas='xc:transparent'
digitFile[0]='digit-0.png'
digitFile[1]='digit-1.png'
digitFile[2]='digit-2.png'
digitFile[3]='digit-3.png'
digitFile[4]='digit-4.png'
digitFile[5]='digit-5.png'
digitFile[6]='digit-6.png'
digitFile[7]='digit-7.png'
digitFile[8]='digit-8.png'
digitFile[9]='digit-9.png'
digitFile[0]='digit-0.png'
digitFile[1]='digit-1.png'
digitFile[2]='digit-2.png'
digitFile[3]='digit-3.png'
digitFile[4]='digit-4.png'
digitFile[5]='digit-5.png'
digitFile[6]='digit-6.png'
digitFile[7]='digit-7.png'
digitFile[8]='digit-8.png'
digitFile[9]='digit-9.png'
digitFile[99]=$emptyCanvas # empty canvas
digitFile[100]='edigit-0.png'
digitFile[101]='edigit-1.png'
digitFile[102]='edigit-2.png'
digitFile[103]='edigit-3.png'
digitFile[104]='edigit-4.png'
digitFile[105]='edigit-5.png'
digitFile[106]='edigit-6.png'
digitFile[107]='edigit-7.png'
digitFile[108]='edigit-8.png'
digitFile[109]='edigit-9.png'
digitFile[200]='eminus.png'
digitFile[201]='eplus.png'
NUM2CHAR[0]='0'
NUM2CHAR[1]='1'
NUM2CHAR[2]='2'
NUM2CHAR[3]='3'
NUM2CHAR[4]='4'
NUM2CHAR[5]='5'
NUM2CHAR[6]='6'
NUM2CHAR[7]='7'
NUM2CHAR[8]='8'
NUM2CHAR[9]='9'
NUM2CHAR[99]=''
NUM2CHAR[100]='0'
NUM2CHAR[101]='1'
NUM2CHAR[102]='2'
NUM2CHAR[103]='3'
NUM2CHAR[104]='4'
NUM2CHAR[105]='5'
NUM2CHAR[106]='6'
NUM2CHAR[107]='7'
NUM2CHAR[108]='8'
NUM2CHAR[109]='9'
NUM2CHAR[200]='-'
NUM2CHAR[201]='+'
digitPos[1]='+209+149'
digitPos[2]='+237+149'
digitPos[3]='+292+149'
digitPos[4]='+321+149'
dotPos[1]=${digitPos[1]}
dotPos[2]=${digitPos[2]}
dotPos[3]=${digitPos[3]}
dotPos[4]=${digitPos[4]}
for ((FNb=1; FNb<=MAX_FILES; FNb++)); do
value=""
DPR=$((RANDOM % ($NUMBER_OF_DIGITS + 1))) # random dot position (0..$NUMBER_OF_DIGITS)
ESIGN=$(($RANDOM % 2 + 200)) # random exponent sign (200..201)
for (( i=1; i<=$MAX_DIGITS; i++ )); do
if (( $i == 3 )); then # exponent sign
value+="${NUM2CHAR[ESIGN]}"
eval DIGIT$i=${digitFile[ESIGN]}
eval DOT$i=$emptyCanvas;
else
if (( $i == 4 )); then # exponent
R=$((RANDOM % 10 + 100)) # random digit number (100..109='0'..'9')
value+="${NUM2CHAR[R]}"
if [ $DPR == $i ]; then
eval DOT$i="$edotFile"
value+="."
else
eval DOT$i=$emptyCanvas;
fi
else # mantissa
R=$((RANDOM % 10)) # random digit number (0..9='0'..'9')
value+="${NUM2CHAR[R]}"
if [ $DPR == $i ]; then
eval DOT$i="$dotFile"
value+="."
else
eval DOT$i=$emptyCanvas;
fi
fi
eval DIGIT$i=${digitFile[R]}
fi
done # NUMBER_OF_DIGITS
fname="$IMAGE_DIR/$MAIN@$value@.png"
echo -e "$FNb:\t$fname"
convert body.png \
$DIGIT1 -geometry ${digitPos[1]} -composite \
$DOT1 -geometry ${dotPos[1]} -composite \
$DIGIT2 -geometry ${digitPos[2]} -composite \
$DOT2 -geometry ${dotPos[2]} -composite \
$DIGIT3 -geometry ${digitPos[3]} -composite \
$DOT3 -geometry ${dotPos[3]} -composite \
$DIGIT4 -geometry ${digitPos[4]} -composite \
$DOT4 -geometry ${dotPos[4]} -composite \
$fname
exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname
done # MAX_FILES
exit
-----------------------------------------------------------------------
Auslesen der Exif-Daten:
exiv2 -g Exif.Image.ImageDescription -P v ./images/ADIXEN@???@.png
--> value=???
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment