diff --git a/KEITHLEY-617/DIGIT_NUMBER_OPTION b/KEITHLEY-617/DIGIT_NUMBER_OPTION new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/KEITHLEY-617/createImages b/KEITHLEY-617/createImages new file mode 100755 index 0000000000000000000000000000000000000000..ad910f74b03e98a56e5f6792771b408df7c32f8c --- /dev/null +++ b/KEITHLEY-617/createImages @@ -0,0 +1,156 @@ +#!/bin/bash +# +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-03-30 +# +# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern +# neue Messgeräte-Bilder mit zufälliger Anzeige +# +# Parameter=Anzahl der Mantissenziffern +# (wenn angegeben, dann kein Exponenent) + +MAIN="KEITHLEY-617" # device name +IMAGE_DIR=./images +MAX_FILES=10 +MAX_DIGITS=5 # do not edit! + +if [ -n "$1" ]; then + NUMBER_OF_DIGITS=$1 + SHOW_EXP=0 +else + NUMBER_OF_DIGITS=$MAX_DIGITS + SHOW_EXP=1 +fi + +if (( $NUMBER_OF_DIGITS > $MAX_DIGITS )); then + NUMBER_OF_DIGITS=$MAX_DIGITS +fi +if (( $NUMBER_OF_DIGITS < 1 )); then + NUMBER_OF_DIGITS=1 +fi + +rm -rf "$IMAGE_DIR" +mkdir -p "$IMAGE_DIR" + +dotFile='dot.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[99]=$emptyCanvas # empty canvas + +digitPos[5]='+57+123' +digitPos[4]='+101+123' +digitPos[3]='+145+123' +digitPos[2]='+189+123' +digitPos[1]='+233+123' + +dotPos[5]=${digitPos[5]} +dotPos[4]=${digitPos[4]} +dotPos[3]=${digitPos[3]} +dotPos[2]=${digitPos[2]} +dotPos[1]=${digitPos[1]} + +expPos[2]='+321+123' +expPos[1]='+365+123' + +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 + dotFile[$i]="$dotFile" + DOT[$i]="." # dot character + else + dotFile[$i]=$emptyCanvas + DOT[$i]="" + fi +done + +fname="$IMAGE_DIR/$MAIN@$value@.png" + +value="" +for (( i=1; i<=$MAX_DIGITS; i++ )); do + if (( $i <= $NUMBER_OF_DIGITS )); then + eval DIGIT$i=${digitFile[ ${DNR[i]} ]} + eval DF$i=${dotFile[i]} + value+="${DNR[i]}${DOT[i]}" + else + eval DIGIT$i=$emptyCanvas; + eval DF$i=$emptyCanvas; + fi +done + +if (( $SHOW_EXP > 0 )); then + value+="_" + ENR[2]=$((RANDOM % 10)) # random digit number (0..9) + ENR[1]=$((RANDOM % 10)) # random digit number (0..9) + if (( ${ENR[2]} == 0 )); then + value+="_" + else + value+="${ENR[2]}" + fi + value+="${ENR[1]}" +else + ENR[2]=99 + ENR[1]=99 +fi + +fname="$IMAGE_DIR/$MAIN@$value@.png" + +convert body.png \ + $DIGIT1 -geometry ${digitPos[5]} -composite \ + $DF1 -geometry ${dotPos[5]} -composite \ + $DIGIT2 -geometry ${digitPos[4]} -composite \ + $DF2 -geometry ${dotPos[4]} -composite \ + $DIGIT3 -geometry ${digitPos[3]} -composite \ + $DF3 -geometry ${dotPos[3]} -composite \ + $DIGIT4 -geometry ${digitPos[2]} -composite \ + $DF4 -geometry ${dotPos[2]} -composite \ + $DIGIT5 -geometry ${digitPos[1]} -composite \ + $DF5 -geometry ${dotPos[1]} -composite \ + ${digitFile[ ${ENR[2]} ]} -geometry ${expPos[2]} -composite \ + ${digitFile[ ${ENR[1]} ]} -geometry ${expPos[1]} -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 + +exit + diff --git a/KEITHLEY-617/dot.png b/KEITHLEY-617/dot.png index 22dd01954bdbd30dc5365c122508289ce067d2f7..cfdbf2d72d6f3a5408b0f3becf336e69e8a5c4d5 100644 Binary files a/KEITHLEY-617/dot.png and b/KEITHLEY-617/dot.png differ diff --git a/KEITHLEY-617/testImage b/KEITHLEY-617/testImage index e85a1e299402aef2d973acdddf0b4ee8d8ffc53c..125bf14ac48e94d20996a8a00fe54e9d1ecab413 100755 --- a/KEITHLEY-617/testImage +++ b/KEITHLEY-617/testImage @@ -21,71 +21,62 @@ digitFile[8]='digit-8.png' digitFile[9]='digit-9.png' digitFile[99]=$emptyCanvas # empty canvas -DNR[7]=7 -DNR[6]=3 DNR[5]=1 DNR[4]=5 DNR[3]=4 DNR[2]=0 DNR[1]=6 -DF[7]=$emptyCanvas -DF[6]=$dotFile -DF[5]=$emptyCanvas -DF[4]=$emptyCanvas -DF[3]=$emptyCanvas -DF[2]=$emptyCanvas -DF[1]=$emptyCanvas +ENR[2]=2 +ENR[1]=5 -ESCH='-' +dotFile[5]=$emptyCanvas +dotFile[4]=$emptyCanvas +dotFile[3]=$dotFile +dotFile[2]=$emptyCanvas +dotFile[1]=$emptyCanvas -DP[7]='' -DP[6]='.' -DP[5]='' -DP[3]='' -DP[2]='' -DP[1]='' +DOT[5]='' +DOT[3]='.' +DOT[2]='' +DOT[1]='' ESF=$minusFile -digitPos[7]='+185+220' -digitPos[6]='+207+220' -digitPos[5]='+229+220' -digitPos[4]='+251+220' -digitPos[3]='+273+220' -digitPos[2]='+295+220' -digitPos[1]='+317+220' +digitPos[5]='+57+123' +digitPos[4]='+101+123' +digitPos[3]='+145+123' +digitPos[2]='+189+123' +digitPos[1]='+233+123' -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]} -esignPos=${digitPos[3]} +expPos[2]='+321+123' +expPos[1]='+365+123' convert body.png \ - ${digitFile[ ${DNR[7]} ]} -geometry ${digitPos[7]} -composite \ - ${DF[7]} -geometry ${dotPos[7]} -composite \ - ${digitFile[ ${DNR[6]} ]} -geometry ${digitPos[6]} -composite \ - ${DF[6]} -geometry ${dotPos[6]} -composite \ ${digitFile[ ${DNR[5]} ]} -geometry ${digitPos[5]} -composite \ - ${DF[5]} -geometry ${dotPos[5]} -composite \ + ${dotFile[5]} -geometry ${dotPos[5]} -composite \ ${digitFile[ ${DNR[4]} ]} -geometry ${digitPos[4]} -composite \ - ${DF[4]} -geometry ${dotPos[4]} -composite \ + ${dotFile[4]} -geometry ${dotPos[4]} -composite \ ${digitFile[ ${DNR[3]} ]} -geometry ${digitPos[3]} -composite \ - ${DF[3]} -geometry ${dotPos[3]} -composite \ + ${dotFile[3]} -geometry ${dotPos[3]} -composite \ ${digitFile[ ${DNR[2]} ]} -geometry ${digitPos[2]} -composite \ - ${DF[2]} -geometry ${dotPos[2]} -composite \ + ${dotFile[2]} -geometry ${dotPos[2]} -composite \ ${digitFile[ ${DNR[1]} ]} -geometry ${digitPos[1]} -composite \ - ${DF[1]} -geometry ${dotPos[1]} -composite \ + ${dotFile[1]} -geometry ${dotPos[1]} -composite \ + ${digitFile[ ${ENR[2]} ]} -geometry ${expPos[2]} -composite \ + ${digitFile[ ${ENR[1]} ]} -geometry ${expPos[1]} -composite \ $fname -value="${DNR[7]}${DP[7]}${DNR[6]}${DP[6]}${DNR[5]}${DP[5]}" -value+="${DNR[4]}${DP[4]}${DNR[3]}${DP[3]}${DNR[2]}${DP[2]}" -value+="${DNR[1]}${DP[1]}" +value="${DNR[7]}${DOT[7]}${DNR[6]}${DOT[6]}${DNR[5]}${DOT[5]}" +value+="${DNR[4]}${DOT[4]}${DNR[3]}${DOT[3]}${DNR[2]}${DOT[2]}" +value+="${DNR[1]}${DOT[1]}" +value+="_${ENR[2]}${ENR[1]}" fname="$IMAGE_DIR/$MAIN@$value@.png"