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