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

umgeschrieben, vereinfacht, 2 Parameter

parent 72a94ab2
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
# Parameter1 = Anzahl der erzeugten Bilddateien # Parameter1 = Anzahl der erzeugten Bilddateien
# #
MAIN="SRG-2" # device name MAIN="ADIXEN" # device name
IMAGE_DIR=./images IMAGE_DIR=./images
MAX_DIGITS=6 # do not edit! MAX_DIGITS=6 # do not edit!
MAX_FILES=10 # do not edit! MAX_FILES=10 # do not edit!
......
#!/bin/bash #!/bin/bash
# #
# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-03-30 # Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-04-03
# #
# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern # Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern
# neue Messgeräte-Bilder mit zufälliger Anzeige # neue Messgeräte-Bilder
# #
# Parameter=Anzahl der Mantissenziffern # Parameter1 = Anzahl der erzeugten Bilddateien
# (wenn angegeben, dann kein Exponenent) #
# Parameter2 = Anzahl der Einzelziffern
MAIN="KEITHLEY-617" # device name MAIN="KEITHLEY-617" # device name
IMAGE_DIR=./images IMAGE_DIR=./images
MAX_FILES=10
MAX_DIGITS=5 # do not edit! MAX_DIGITS=5 # do not edit!
MAX_FILES=10 # do not edit!
NUMBER_OF_DIGITS=$MAX_DIGITS
SHOW_EXP=1
if [ -n "$1" ]; then if [ -n "$1" ]; then
NUMBER_OF_DIGITS=$1 MAX_FILES=$1
SHOW_EXP=0 if [ -n "$2" ]; then
else SHOW_EXP=0
NUMBER_OF_DIGITS=$MAX_DIGITS NUMBER_OF_DIGITS=$2
SHOW_EXP=1 fi
fi fi
if (( $NUMBER_OF_DIGITS > $MAX_DIGITS )); then if (( $NUMBER_OF_DIGITS > $MAX_DIGITS )); then
NUMBER_OF_DIGITS=$MAX_DIGITS NUMBER_OF_DIGITS=$MAX_DIGITS
fi else
if (( $NUMBER_OF_DIGITS < 1 )); then if (( $NUMBER_OF_DIGITS < 1 )); then
NUMBER_OF_DIGITS=1 NUMBER_OF_DIGITS=1
fi fi
fi
rm -rf "$IMAGE_DIR" rm -rf "$IMAGE_DIR"
mkdir -p "$IMAGE_DIR" mkdir -p "$IMAGE_DIR"
dotFile='dot.png' _dotFile='dot.png'
minusFile='minus.png' _minusFile='minus.png'
emptyCanvas='xc:transparent' emptyCanvas='xc:transparent'
digitFile[0]='digit-0.png' digitFile[0]='digit-0.png'
...@@ -47,11 +52,11 @@ digitFile[8]='digit-8.png' ...@@ -47,11 +52,11 @@ 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
digitPos[5]='+57+123' digitPos[1]='+57+123'
digitPos[4]='+101+123' digitPos[2]='+101+123'
digitPos[3]='+145+123' digitPos[3]='+145+123'
digitPos[2]='+189+123' digitPos[4]='+189+123'
digitPos[1]='+233+123' digitPos[5]='+233+123'
dotPos[5]=${digitPos[5]} dotPos[5]=${digitPos[5]}
dotPos[4]=${digitPos[4]} dotPos[4]=${digitPos[4]}
...@@ -59,8 +64,8 @@ dotPos[3]=${digitPos[3]} ...@@ -59,8 +64,8 @@ dotPos[3]=${digitPos[3]}
dotPos[2]=${digitPos[2]} dotPos[2]=${digitPos[2]}
dotPos[1]=${digitPos[1]} dotPos[1]=${digitPos[1]}
expPos[2]='+321+123' expPos[1]='+321+123'
expPos[1]='+365+123' expPos[2]='+365+123'
for ((FNb=1; FNb<=MAX_FILES; FNb++)); do for ((FNb=1; FNb<=MAX_FILES; FNb++)); do
...@@ -68,7 +73,7 @@ DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIG ...@@ -68,7 +73,7 @@ DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIG
for (( i=1; i<=$MAX_DIGITS; i++ )); do for (( i=1; i<=$MAX_DIGITS; i++ )); do
DNR[$i]=$((RANDOM % 10)) # random digit number (0..9) DNR[$i]=$((RANDOM % 10)) # random digit number (0..9)
if [ $DPR == $i ]; then if [ $DPR == $i ]; then
dotFile[$i]="$dotFile" dotFile[$i]="$_dotFile"
DOT[$i]="." # dot character DOT[$i]="." # dot character
else else
dotFile[$i]=$emptyCanvas dotFile[$i]=$emptyCanvas
...@@ -92,34 +97,30 @@ done ...@@ -92,34 +97,30 @@ done
if (( $SHOW_EXP > 0 )); then if (( $SHOW_EXP > 0 )); then
value+="_" value+="_"
ENR[2]=$((RANDOM % 10)) # random digit number (0..9) ENR[1]=$((RANDOM % 10)) # random digit number (0..9)
ENR[1]=$((RANDOM % 10)) # random digit number (0..9) ENR[2]=$((RANDOM % 10)) # random digit number (0..9)
if (( ${ENR[2]} == 0 )); then value+="${ENR[1]}"
value+="_" value+="${ENR[2]}"
else
value+="${ENR[2]}"
fi
value+="${ENR[1]}"
else else
ENR[2]=99 ENR[1]=99
ENR[1]=99 ENR[2]=99
fi fi
fname="$IMAGE_DIR/$MAIN@$value@.png" fname="$IMAGE_DIR/$MAIN@$value@.png"
convert body.png \ convert body.png \
$DIGIT1 -geometry ${digitPos[5]} -composite \ $DIGIT1 -geometry ${digitPos[1]} -composite \
$DF1 -geometry ${dotPos[5]} -composite \ $DF1 -geometry ${dotPos[1]} -composite \
$DIGIT2 -geometry ${digitPos[4]} -composite \ $DIGIT2 -geometry ${digitPos[2]} -composite \
$DF2 -geometry ${dotPos[4]} -composite \ $DF2 -geometry ${dotPos[2]} -composite \
$DIGIT3 -geometry ${digitPos[3]} -composite \ $DIGIT3 -geometry ${digitPos[3]} -composite \
$DF3 -geometry ${dotPos[3]} -composite \ $DF3 -geometry ${dotPos[3]} -composite \
$DIGIT4 -geometry ${digitPos[2]} -composite \ $DIGIT4 -geometry ${digitPos[4]} -composite \
$DF4 -geometry ${dotPos[2]} -composite \ $DF4 -geometry ${dotPos[4]} -composite \
$DIGIT5 -geometry ${digitPos[1]} -composite \ $DIGIT5 -geometry ${digitPos[5]} -composite \
$DF5 -geometry ${dotPos[1]} -composite \ $DF5 -geometry ${dotPos[5]} -composite \
${digitFile[ ${ENR[2]} ]} -geometry ${expPos[2]} -composite \
${digitFile[ ${ENR[1]} ]} -geometry ${expPos[1]} -composite \ ${digitFile[ ${ENR[1]} ]} -geometry ${expPos[1]} -composite \
${digitFile[ ${ENR[2]} ]} -geometry ${expPos[2]} -composite \
$fname $fname
exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment