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

läuft!

parent 3dc7ce0e
Branches
No related tags found
No related merge requests found
#!/bin/bash
#
# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-06-28
#
# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern
# neue Messgeräte-Bilder
#
# Parameter 1 = Anzahl der erzeugten Bilddateien
#
# Parameter 2 = Anzahl der Einzelzeichen
MAIN="RUSKA7010" # device name
IMAGE_DIR=./images
MAX_DIGITS=9 # do not edit!
MAX_FILES=10 # do not edit!
NUMBER_OF_DIGITS=$MAX_DIGITS
SHOW_EXP=true
if [ -n "$1" ]; then
MAX_FILES=$1
if [ -n "$2" ]; then
NUMBER_OF_DIGITS=$2
fi
fi
rm -rf "$IMAGE_DIR"
mkdir -p "$IMAGE_DIR"
emptyCanvas='xc:transparent'
charFile[0]='char-0.png'
charFile[1]='char-1.png'
charFile[2]='char-2.png'
charFile[3]='char-3.png'
charFile[4]='char-4.png'
charFile[5]='char-5.png'
charFile[6]='char-6.png'
charFile[7]='char-7.png'
charFile[8]='char-8.png'
charFile[9]='char-9.png'
charFile[10]='char-minus.png'
charFile[11]=$emptyCanvas
charFile[100]='echar-0.png'
charFile[101]='echar-1.png'
charFile[102]='echar-2.png'
charFile[103]='echar-3.png'
charFile[104]='echar-4.png'
charFile[105]='echar-5.png'
charFile[106]='echar-6.png'
charFile[107]='echar-7.png'
charFile[108]='echar-8.png'
charFile[109]='echar-9.png'
charFile[110]='echar-minus.png'
charFile[111]='echar-plus.png'
charFile[112]='echar-E.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[10]='-'
NUM2CHAR[11]=''
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[110]='-'
NUM2CHAR[111]='+'
NUM2CHAR[112]='E'
charPos[1]='+175+214'
charPos[2]='+203+214'
charPos[3]='+240+214'
charPos[4]='+277+214'
charPos[5]='+314+214'
charPos[6]='+351+214'
charPos[7]='+288+182'
charPos[8]='+305+182'
charPos[9]='+329+182'
dotPos[1]=${charPos[1]}
dotPos[2]=${charPos[2]}
dotPos[3]=${charPos[3]}
dotPos[4]=${charPos[4]}
dotPos[5]=${charPos[5]}
dotPos[6]=${charPos[6]}
for ((FNb=1; FNb<=MAX_FILES; FNb++)); do
DPR=$((RANDOM % 5 + 2)) # random dot position (2..6)
value=""
for (( i=1; i<=$MAX_DIGITS; i++ )); do
if (( $i <= $NUMBER_OF_DIGITS )); then
if (( $i == 1 )); then # sign of matissa
R=$((RANDOM % 2 + 10)) # random number (10..11='-'..' ')
eval CHAR$i=${charFile[R]}
value+="${NUM2CHAR[R]}"
elif (( $i <= 6 )); then # matissa
R=$((RANDOM % 10)) # random number (0..9='0'..'9')
eval CHAR$i=${charFile[R]}
value+="${NUM2CHAR[R]}"
if (( $DPR == $i )); then
eval DOT$i="char-dot.png"
value+="."
else
eval DOT$i=$emptyCanvas;
fi
else # exponent
R=$((RANDOM % 13 + 100)) # random number (100..112='0'..'E')
eval CHAR$i=${charFile[R]}
value+="${NUM2CHAR[R]}"
fi
else
eval CHAR$i=$emptyCanvas;
eval DOT$i=$emptyCanvas;
fi
done # NUMBER_OF_DIGITS
fname="$IMAGE_DIR/$MAIN@$value@.png"
echo -e "$FNb:\t$fname"
convert body.png \
$CHAR1 -geometry ${charPos[1]} -composite \
$CHAR2 -geometry ${charPos[2]} -composite \
$DOT2 -geometry ${dotPos[2]} -composite \
$CHAR3 -geometry ${charPos[3]} -composite \
$DOT3 -geometry ${dotPos[3]} -composite \
$CHAR4 -geometry ${charPos[4]} -composite \
$DOT4 -geometry ${dotPos[4]} -composite \
$CHAR5 -geometry ${charPos[5]} -composite \
$DOT5 -geometry ${dotPos[5]} -composite \
$CHAR6 -geometry ${charPos[6]} -composite \
$DOT6 -geometry ${dotPos[6]} -composite \
$CHAR7 -geometry ${charPos[7]} -composite \
$CHAR8 -geometry ${charPos[8]} -composite \
$CHAR9 -geometry ${charPos[9]} -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