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

läuft!

parent 3dc7ce0e
No related branches found
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.
Finish editing this message first!
Please register or to comment