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

"createImages" usw.

parent 1e9f2944
No related branches found
No related tags found
No related merge requests found
KEITHLEY-2701/body.png

412 KiB | W: | H:

KEITHLEY-2701/body.png

408 KiB | W: | H:

KEITHLEY-2701/body.png
KEITHLEY-2701/body.png
KEITHLEY-2701/body.png
KEITHLEY-2701/body.png
  • 2-up
  • Swipe
  • Onion skin
#!/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
KEITHLEY-2701/digit-1.png

1.53 KiB | W: | H:

KEITHLEY-2701/digit-1.png

1.53 KiB | W: | H:

KEITHLEY-2701/digit-1.png
KEITHLEY-2701/digit-1.png
KEITHLEY-2701/digit-1.png
KEITHLEY-2701/digit-1.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -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]}"
......
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