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

"LH"

parent fe58c707
No related branches found
No related tags found
No related merge requests found
LH/body.png

457 KiB

#!/bin/bash
#
# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-06-21
#
# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern
# neue Messgeräte-Bilder
#
# Parameter1 = Anzahl der erzeugten Bilddateien
#
# Parameter2 = Anzahl der Einzelziffern
MAIN="LH" # device name
IMAGE_DIR=./images
MAX_DIGITS=4 # do not edit!
MAX_FILES=10 # do not edit!
NUMBER_OF_DIGITS=$MAX_DIGITS
SHOW_EXP=true
if [ -n "$1" ]; then
MAX_FILES=$1
fi
if (( $NUMBER_OF_DIGITS > $MAX_DIGITS )); then
NUMBER_OF_DIGITS=$MAX_DIGITS
else
if (( $NUMBER_OF_DIGITS < 1 )); then
NUMBER_OF_DIGITS=1
fi
fi
rm -rf "$IMAGE_DIR"
mkdir -p "$IMAGE_DIR"
dotFile='dot.png'
edotFile='edot.png'
emptyCanvas='xc:transparent'
#---------------------
dotFile='dot.png'
plusFile='plus.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'
edigitFile[0]='edigit-0.png'
edigitFile[1]='edigit-1.png'
edigitFile[2]='edigit-2.png'
edigitFile[3]='edigit-3.png'
edigitFile[4]='edigit-4.png'
edigitFile[5]='edigit-5.png'
edigitFile[6]='edigit-6.png'
edigitFile[7]='edigit-7.png'
edigitFile[8]='edigit-8.png'
edigitFile[9]='edigit-9.png'
digitPos[1]='+188+136'
digitPos[2]='+244+136'
digitPos[3]='+300+136'
digitPos[4]='+384+136'
dotPos[1]=${digitPos[1]}
dotPos[2]=${digitPos[2]}
dotPos[3]=${digitPos[3]}
for ((FNb=1; FNb<=MAX_FILES; FNb++)); do
value=""
DPR=$((RANDOM % ($NUMBER_OF_DIGITS + 1))) # random dot position (0..$NUMBER_OF_DIGITS)
for (( i=1; i<=$MAX_DIGITS; i++ )); do
if (( $i == 4 )); then
value+="-"
fi
R=$((RANDOM % 10)) # random digit number (0..9='0'..'9')
value+="${R}"
if (( $i <= 3 )); then # mantissa
eval DIGIT$i=${digitFile[R]}
if [ $DPR == $i ]; then
eval DOT$i="$dotFile"
value+="."
else
eval DOT$i=$emptyCanvas;
fi
else # exponent
eval DIGIT$i=${edigitFile[R]}
if [ $DPR == $i ]; then
eval DOT$i="$edotFile"
value+="."
else
eval DOT$i=$emptyCanvas;
fi
fi
done # NUMBER_OF_DIGITS
fname="$IMAGE_DIR/$MAIN@$value@.png"
echo -e "$FNb:\t$fname"
convert body.png \
$DIGIT1 -geometry ${digitPos[1]} -composite \
$DOT1 -geometry ${dotPos[1]} -composite \
$DIGIT2 -geometry ${digitPos[2]} -composite \
$DOT2 -geometry ${dotPos[2]} -composite \
$DIGIT3 -geometry ${digitPos[3]} -composite \
$DOT3 -geometry ${dotPos[3]} -composite \
$DIGIT4 -geometry ${digitPos[4]} -composite \
$fname
exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname
done # MAX_FILES
exit
-----------------------------------------------------------------------
Auslesen der Exif-Daten:
exiv2 -g Exif.Image.ImageDescription -P v ./images/ADIXEN@???@.png
--> value=???
LH/digit-0.png

4.67 KiB

LH/digit-1.png

1.89 KiB

LH/digit-2.png

3.32 KiB

LH/digit-3.png

3.2 KiB

LH/digit-4.png

3.19 KiB

LH/digit-5.png

3.2 KiB

LH/digit-6.png

4.25 KiB

LH/digit-7.png

2.62 KiB

LH/digit-8.png

4.88 KiB

LH/digit-9.png

4.04 KiB

LH/dot.png

523 B

LH/edigit-0.png

2.01 KiB

LH/edigit-1.png

1.01 KiB

LH/edigit-2.png

1.68 KiB

LH/edigit-3.png

1.54 KiB

LH/edigit-4.png

1.44 KiB

LH/edigit-5.png

1.55 KiB

LH/edigit-6.png

1.83 KiB

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