From ddaadd2d85a757bca164a2d54b562080e03f5039 Mon Sep 17 00:00:00 2001 From: niepra01 <rolf.niepraschk@ptb.de> Date: Fri, 7 Apr 2017 11:07:34 +0200 Subject: [PATCH] Code vereinfacht; mehr Variationen --- KEITHLEY-2701/createImages | 130 +++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 71 deletions(-) diff --git a/KEITHLEY-2701/createImages b/KEITHLEY-2701/createImages index 35545cd..9ce525d 100755 --- a/KEITHLEY-2701/createImages +++ b/KEITHLEY-2701/createImages @@ -1,6 +1,6 @@ #!/bin/bash # -# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-04-03 +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-04-07 # # Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern # neue Messgeräte-Bilder @@ -15,12 +15,12 @@ MAX_DIGITS=7 # do not edit! MAX_FILES=10 # do not edit! NUMBER_OF_DIGITS=$MAX_DIGITS -SHOW_EXP=1 +SHOW_EXP=true if [ -n "$1" ]; then MAX_FILES=$1 if [ -n "$2" ]; then - SHOW_EXP=0 + SHOW_EXP=false NUMBER_OF_DIGITS=$2 fi fi @@ -31,13 +31,13 @@ else if (( $NUMBER_OF_DIGITS < 1 )); then NUMBER_OF_DIGITS=1 fi -fi +fi rm -rf "$IMAGE_DIR" -mkdir -p "$IMAGE_DIR" +mkdir -p "$IMAGE_DIR" -_dotFile='dot.png' -_minusFile='minus.png' +dotFile='dot.png' +minusFile='minus.png' emptyCanvas='xc:transparent' digitFile[0]='digit-0.png' @@ -50,7 +50,19 @@ 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[10]='minus.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]='-' digitPos[1]='+185+220' digitPos[2]='+207+220' @@ -60,90 +72,66 @@ digitPos[5]='+273+220' digitPos[6]='+295+220' digitPos[7]='+317+220' -dotPos[7]=${digitPos[7]} -dotPos[6]=${digitPos[6]} -dotPos[5]=${digitPos[5]} -dotPos[4]=${digitPos[4]} -dotPos[3]=${digitPos[3]} -dotPos[2]=${digitPos[2]} dotPos[1]=${digitPos[1]} +dotPos[2]=${digitPos[2]} +dotPos[3]=${digitPos[3]} +dotPos[4]=${digitPos[4]} +dotPos[5]=${digitPos[5]} +dotPos[6]=${digitPos[6]} +dotPos[7]=${digitPos[7]} for ((FNb=1; FNb<=MAX_FILES; FNb++)); do -DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS) -for (( i=1; i<=$MAX_DIGITS; i++ )); do - DNR[$i]=$((RANDOM % 10)) # random digit number (0..9) - if [ $DPR == $i ]; then - DF[$i]="$_dotFile" - DP[$i]="." # dot character - else - DF[$i]=$emptyCanvas - DP[$i]="" - fi -done - -fname="$IMAGE_DIR/$MAIN@$value@.png" - value="" -for (( i=1; i<=$MAX_DIGITS; i++ )); do +DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS) +for (( i=1; i<=$MAX_DIGITS; i++ )); do if (( $i <= $NUMBER_OF_DIGITS )); then - eval DIGIT$i=${digitFile[ ${DNR[i]} ]} - eval DF$i=${DF[i]} - value+="${DNR[i]}${DP[i]}" + R=$((RANDOM % 11)) # random digit number (0..10='0'..'-') + eval DIGIT$i=${digitFile[R]} + value+="${NUM2CHAR[R]}" + if [ $DPR == $i ]; then + eval DOT$i="$dotFile" + value+="." + else + eval DOT$i=$emptyCanvas; + fi else eval DIGIT$i=$emptyCanvas; - eval DF$i=$emptyCanvas; + eval DOT$i=$emptyCanvas; fi done -fname="$IMAGE_DIR/$MAIN@$value@.png" +fname="$IMAGE_DIR/$MAIN@$value@.png" + +echo -e "$FNb:\t$fname" convert body.png \ - $DIGIT1 -geometry ${digitPos[1]} -composite \ - $DF1 -geometry ${dotPos[1]} -composite \ - $DIGIT2 -geometry ${digitPos[2]} -composite \ - $DF2 -geometry ${dotPos[2]} -composite \ - $DIGIT3 -geometry ${digitPos[3]} -composite \ - $DF3 -geometry ${dotPos[3]} -composite \ - $DIGIT4 -geometry ${digitPos[4]} -composite \ - $DF4 -geometry ${dotPos[4]} -composite \ - $DIGIT5 -geometry ${digitPos[5]} -composite \ - $DF5 -geometry ${dotPos[5]} -composite \ - $DIGIT6 -geometry ${digitPos[6]} -composite \ - $DF6 -geometry ${dotPos[6]} -composite \ - $DIGIT7 -geometry ${digitPos[7]} -composite \ - $DF7 -geometry ${dotPos[7]} -composite \ + $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 \ + $DIGIT5 -geometry ${digitPos[5]} -composite \ + $DOT5 -geometry ${dotPos[5]} -composite \ + $DIGIT6 -geometry ${digitPos[6]} -composite \ + $DOT6 -geometry ${dotPos[6]} -composite \ + $DIGIT7 -geometry ${digitPos[7]} -composite \ + $DOT7 -geometry ${dotPos[7]} -composite \ $fname - + exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname -echo -e "$FNb:\t$fname" - done # MAX_FILES exit - + ----------------------------------------------------------------------- Auslesen der Exif-Daten: -exiv2 -g Exif.Image.ImageDescription -P v ./images/151.108@GERAET_X.png ---> value=151.108 - -echo 1: $DIGIT1 -geometry ${digitPos[7]} -composite -echo 2: $DF1 -geometry ${dotPos[7]} -composite -echo 3: $DIGIT2 -geometry ${digitPos[6]} -composite -echo 4: $DF2 -geometry ${dotPos[6]} -composite -echo 5: $DIGIT3 -geometry ${digitPos[5]} -composite -echo 6: $DF3 -geometry ${dotPos[5]} -composite -echo 7: $DIGIT4 -geometry ${digitPos[4]} -composite -echo 8: $DF4 -geometry ${dotPos[4]} -composite -echo 9: $DIGIT5 -geometry ${digitPos[3]} -composite -echo 10: $DF5 -geometry ${dotPos[3]} -composite -echo 11: $DIGIT6 -geometry ${digitPos[2]} -composite -echo 12: $DF6 -geometry ${dotPos[2]} -composite -echo 13: $DIGIT7 -geometry ${digitPos[1]} -composite -echo 14: $DF7 -geometry ${dotPos[1]} -composite -echo 15: $fname +exiv2 -g Exif.Image.ImageDescription -P v ./images/ADIXEN@???@.png +--> value=??? -exit -- GitLab