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

läuft

parent c58390ee
No related branches found
No related tags found
No related merge requests found
#!/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
KEITHLEY-617/dot.png

466 B | W: | H:

KEITHLEY-617/dot.png

470 B | W: | H:

KEITHLEY-617/dot.png
KEITHLEY-617/dot.png
KEITHLEY-617/dot.png
KEITHLEY-617/dot.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -21,71 +21,62 @@ digitFile[8]='digit-8.png' ...@@ -21,71 +21,62 @@ digitFile[8]='digit-8.png'
digitFile[9]='digit-9.png' digitFile[9]='digit-9.png'
digitFile[99]=$emptyCanvas # empty canvas digitFile[99]=$emptyCanvas # empty canvas
DNR[7]=7
DNR[6]=3
DNR[5]=1 DNR[5]=1
DNR[4]=5 DNR[4]=5
DNR[3]=4 DNR[3]=4
DNR[2]=0 DNR[2]=0
DNR[1]=6 DNR[1]=6
DF[7]=$emptyCanvas ENR[2]=2
DF[6]=$dotFile ENR[1]=5
DF[5]=$emptyCanvas
DF[4]=$emptyCanvas
DF[3]=$emptyCanvas
DF[2]=$emptyCanvas
DF[1]=$emptyCanvas
ESCH='-' dotFile[5]=$emptyCanvas
dotFile[4]=$emptyCanvas
dotFile[3]=$dotFile
dotFile[2]=$emptyCanvas
dotFile[1]=$emptyCanvas
DP[7]='' DOT[5]=''
DP[6]='.' DOT[3]='.'
DP[5]='' DOT[2]=''
DP[3]='' DOT[1]=''
DP[2]=''
DP[1]=''
ESF=$minusFile ESF=$minusFile
digitPos[7]='+185+220' digitPos[5]='+57+123'
digitPos[6]='+207+220' digitPos[4]='+101+123'
digitPos[5]='+229+220' digitPos[3]='+145+123'
digitPos[4]='+251+220' digitPos[2]='+189+123'
digitPos[3]='+273+220' digitPos[1]='+233+123'
digitPos[2]='+295+220'
digitPos[1]='+317+220'
dotPos[7]=${digitPos[7]}
dotPos[6]=${digitPos[6]}
dotPos[5]=${digitPos[5]} dotPos[5]=${digitPos[5]}
dotPos[4]=${digitPos[4]} dotPos[4]=${digitPos[4]}
dotPos[3]=${digitPos[3]} dotPos[3]=${digitPos[3]}
dotPos[2]=${digitPos[2]} dotPos[2]=${digitPos[2]}
dotPos[1]=${digitPos[1]} dotPos[1]=${digitPos[1]}
esignPos=${digitPos[3]} expPos[2]='+321+123'
expPos[1]='+365+123'
convert body.png \ 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 \ ${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 \ ${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 \ ${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 \ ${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 \ ${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 $fname
value="${DNR[7]}${DP[7]}${DNR[6]}${DP[6]}${DNR[5]}${DP[5]}" value="${DNR[7]}${DOT[7]}${DNR[6]}${DOT[6]}${DNR[5]}${DOT[5]}"
value+="${DNR[4]}${DP[4]}${DNR[3]}${DP[3]}${DNR[2]}${DP[2]}" value+="${DNR[4]}${DOT[4]}${DNR[3]}${DOT[3]}${DNR[2]}${DOT[2]}"
value+="${DNR[1]}${DP[1]}" value+="${DNR[1]}${DOT[1]}"
value+="_${ENR[2]}${ENR[1]}"
fname="$IMAGE_DIR/$MAIN@$value@.png" fname="$IMAGE_DIR/$MAIN@$value@.png"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment