From de99f26553f8eaeb6f83487c2e0a910ae60d17e8 Mon Sep 17 00:00:00 2001 From: niepra01 <rolf.niepraschk@ptb.de> Date: Mon, 26 Jun 2017 14:52:24 +0200 Subject: [PATCH] =?UTF-8?q?l=C3=A4uft!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VAC_TM_21/createImages | 178 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100755 VAC_TM_21/createImages diff --git a/VAC_TM_21/createImages b/VAC_TM_21/createImages new file mode 100755 index 0000000..03d0f2e --- /dev/null +++ b/VAC_TM_21/createImages @@ -0,0 +1,178 @@ +#!/bin/bash +# +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-06-26 +# +# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern +# neue Messgeräte-Bilder +# +# Parameter 1 = Anzahl der erzeugten Bilddateien +# + +MAIN="VAC_TM_21" # 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' + +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 +digitFile[100]='edigit-0.png' +digitFile[101]='edigit-1.png' +digitFile[102]='edigit-2.png' +digitFile[103]='edigit-3.png' +digitFile[104]='edigit-4.png' +digitFile[105]='edigit-5.png' +digitFile[106]='edigit-6.png' +digitFile[107]='edigit-7.png' +digitFile[108]='edigit-8.png' +digitFile[109]='edigit-9.png' +digitFile[200]='eminus.png' +digitFile[201]='eplus.png' + +NUM2CHAR[0]='0' +NUM2CHAR[1]='1' +NUM2CHAR[2]='2' +NUM2CHAR[3]='3' +NUM2CHAR[4]='4' +NUM2CHAR[5]='5' +NUM2CHAR[6]='6' +NUM2CHAR[7]='7' +NUM2CHAR[8]='8' +NUM2CHAR[9]='9' +NUM2CHAR[99]='' +NUM2CHAR[100]='0' +NUM2CHAR[101]='1' +NUM2CHAR[102]='2' +NUM2CHAR[103]='3' +NUM2CHAR[104]='4' +NUM2CHAR[105]='5' +NUM2CHAR[106]='6' +NUM2CHAR[107]='7' +NUM2CHAR[108]='8' +NUM2CHAR[109]='9' +NUM2CHAR[200]='-' +NUM2CHAR[201]='+' + +digitPos[1]='+209+149' +digitPos[2]='+237+149' +digitPos[3]='+292+149' +digitPos[4]='+321+149' + +dotPos[1]=${digitPos[1]} +dotPos[2]=${digitPos[2]} +dotPos[3]=${digitPos[3]} +dotPos[4]=${digitPos[4]} + +for ((FNb=1; FNb<=MAX_FILES; FNb++)); do + +value="" +DPR=$((RANDOM % ($NUMBER_OF_DIGITS + 1))) # random dot position (0..$NUMBER_OF_DIGITS) +ESIGN=$(($RANDOM % 2 + 200)) # random exponent sign (200..201) +for (( i=1; i<=$MAX_DIGITS; i++ )); do + if (( $i == 3 )); then # exponent sign + value+="${NUM2CHAR[ESIGN]}" + eval DIGIT$i=${digitFile[ESIGN]} + eval DOT$i=$emptyCanvas; + else + if (( $i == 4 )); then # exponent + R=$((RANDOM % 10 + 100)) # random digit number (100..109='0'..'9') + value+="${NUM2CHAR[R]}" + if [ $DPR == $i ]; then + eval DOT$i="$edotFile" + value+="." + else + eval DOT$i=$emptyCanvas; + fi + else # mantissa + R=$((RANDOM % 10)) # random digit number (0..9='0'..'9') + value+="${NUM2CHAR[R]}" + if [ $DPR == $i ]; then + eval DOT$i="$dotFile" + value+="." + else + eval DOT$i=$emptyCanvas; + fi + fi + eval DIGIT$i=${digitFile[R]} + 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 \ + $DOT4 -geometry ${dotPos[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=??? + + -- GitLab