diff --git a/KEITHLEY-2701/body.png b/KEITHLEY-2701/body.png index e3a8ff4ff1912db721088a6aa81d5971764f8695..0fe2c060ff21021768388e32b883aa049f9e7f7c 100644 Binary files a/KEITHLEY-2701/body.png and b/KEITHLEY-2701/body.png differ diff --git a/KEITHLEY-2701/createImages b/KEITHLEY-2701/createImages new file mode 100755 index 0000000000000000000000000000000000000000..fd07e9b26db501d71b123752edde1726c296b0fa --- /dev/null +++ b/KEITHLEY-2701/createImages @@ -0,0 +1,144 @@ +#!/bin/bash +# +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-03-29 +# +# 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-2701" # device name +IMAGE_DIR=./images +MAX_FILES=10 +MAX_DIGITS=7 + +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[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' + +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]} + +for ((FNb=1; FNb<=MAX_FILES; FNb++)); do + +DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS) +for i in {1..7}; 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 + if (( $i <= $NUMBER_OF_DIGITS )); then + eval DIGIT$i=${digitFile[ ${DNR[i]} ]} + eval DF$i=${DF[i]} + value+="${DNR[i]}${DP[i]}" + else + eval DIGIT$i=$emptyCanvas; + eval DF$i=$emptyCanvas; + fi +done + +fname="$IMAGE_DIR/$MAIN@$value@.png" + +convert body.png \ + $DIGIT1 -geometry ${digitPos[7]} -composite \ + $DF1 -geometry ${dotPos[7]} -composite \ + $DIGIT2 -geometry ${digitPos[6]} -composite \ + $DF2 -geometry ${dotPos[6]} -composite \ + $DIGIT3 -geometry ${digitPos[5]} -composite \ + $DF3 -geometry ${dotPos[5]} -composite \ + $DIGIT4 -geometry ${digitPos[4]} -composite \ + $DF4 -geometry ${dotPos[4]} -composite \ + $DIGIT5 -geometry ${digitPos[3]} -composite \ + $DF5 -geometry ${dotPos[3]} -composite \ + $DIGIT6 -geometry ${digitPos[2]} -composite \ + $DF6 -geometry ${dotPos[2]} -composite \ + $DIGIT7 -geometry ${digitPos[1]} -composite \ + $DF7 -geometry ${dotPos[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-2701/digit-1.png b/KEITHLEY-2701/digit-1.png index 81f5b18ba823bf2594d4a768308a391af8c016e8..f48646f4e88315ac2b30e841d348d933294cd8f7 100644 Binary files a/KEITHLEY-2701/digit-1.png and b/KEITHLEY-2701/digit-1.png differ diff --git a/KEITHLEY-2701/testImage b/KEITHLEY-2701/testImage index e4d12b71e84ae74a724317455076dd6a205ada82..b0a11a9c25dc0d653e6c655146948539466ae15b 100755 --- a/KEITHLEY-2701/testImage +++ b/KEITHLEY-2701/testImage @@ -32,6 +32,7 @@ DNR[1]=6 DF[7]=$emptyCanvas DF[6]=$dotFile DF[5]=$emptyCanvas +DF[4]=$emptyCanvas DF[3]=$emptyCanvas DF[2]=$emptyCanvas DF[1]=$emptyCanvas @@ -47,13 +48,13 @@ DP[1]='' ESF=$minusFile -digitPos[7]='+246.2+177' -digitPos[6]='+288.6+177' -digitPos[5]='+331+177' -digitPos[4]='+373.4+177' -digitPos[3]='+415.8+177' -digitPos[2]='+458.2+177' -digitPos[1]='+500.6+177' +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' dotPos[7]=${digitPos[7]} dotPos[6]=${digitPos[6]} @@ -82,23 +83,6 @@ convert body.png \ ${DF[1]} -geometry ${dotPos[1]} -composite \ $fname -echo "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 \ - ${digitFile[ ${DNR[4]} ]} -geometry ${digitPos[4]} -composite \ - ${DF[4]} -geometry ${dotPos[4]} -composite \ - ${digitFile[ ${DNR[3]} ]} -geometry ${digitPos[3]} -composite \ - ${DF[3]} -geometry ${dotPos[3]} -composite \ - ${digitFile[ ${DNR[2]} ]} -geometry ${digitPos[2]} -composite \ - ${DF[2]} -geometry ${dotPos[2]} -composite \ - ${digitFile[ ${DNR[1]} ]} -geometry ${digitPos[1]} -composite \ - ${DF[1]} -geometry ${dotPos[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]}"