diff --git a/PFEIFFER_DualGauge/body.png b/PFEIFFER_DualGauge/body.png new file mode 100644 index 0000000000000000000000000000000000000000..b66c7c368d5266dc097382e660ded9115e29ef7b Binary files /dev/null and b/PFEIFFER_DualGauge/body.png differ diff --git a/PFEIFFER_DualGauge/char-1.png b/PFEIFFER_DualGauge/char-1.png new file mode 100644 index 0000000000000000000000000000000000000000..df10c5eb47c21a92946851777e3fc4eafad28251 Binary files /dev/null and b/PFEIFFER_DualGauge/char-1.png differ diff --git a/PFEIFFER_DualGauge/char-3.png b/PFEIFFER_DualGauge/char-3.png new file mode 100644 index 0000000000000000000000000000000000000000..c8683396a1ba6acdd57f8250b788025931b0059a Binary files /dev/null and b/PFEIFFER_DualGauge/char-3.png differ diff --git a/PFEIFFER_DualGauge/char-4.png b/PFEIFFER_DualGauge/char-4.png new file mode 100644 index 0000000000000000000000000000000000000000..1587a0cf430852e9fc888f35ad9223e1a0a4455a Binary files /dev/null and b/PFEIFFER_DualGauge/char-4.png differ diff --git a/PFEIFFER_DualGauge/char-7.png b/PFEIFFER_DualGauge/char-7.png new file mode 100644 index 0000000000000000000000000000000000000000..075908b89830262562a589cfc54fac20453ac714 Binary files /dev/null and b/PFEIFFER_DualGauge/char-7.png differ diff --git a/PFEIFFER_DualGauge/char-9.png b/PFEIFFER_DualGauge/char-9.png new file mode 100644 index 0000000000000000000000000000000000000000..3b2f44dfa77cbe6ff6211d38f14934231604fd32 Binary files /dev/null and b/PFEIFFER_DualGauge/char-9.png differ diff --git a/PFEIFFER_DualGauge/char-dot.png b/PFEIFFER_DualGauge/char-dot.png new file mode 100644 index 0000000000000000000000000000000000000000..a86437994846ce78da46d0ab035f62d43c946c80 Binary files /dev/null and b/PFEIFFER_DualGauge/char-dot.png differ diff --git a/PFEIFFER_DualGauge/char-minus.png b/PFEIFFER_DualGauge/char-minus.png new file mode 100644 index 0000000000000000000000000000000000000000..1609b943ba576c2eab95c8e81ecd557ae8af65e3 Binary files /dev/null and b/PFEIFFER_DualGauge/char-minus.png differ diff --git a/PFEIFFER_DualGauge/createImages b/PFEIFFER_DualGauge/createImages new file mode 100755 index 0000000000000000000000000000000000000000..b402fb3694d3a8cf851e0ed697f29e61db487075 --- /dev/null +++ b/PFEIFFER_DualGauge/createImages @@ -0,0 +1,166 @@ +#!/bin/bash +# +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-06-28 +# +# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern +# neue Messgeräte-Bilder +# +# Parameter 1 = Anzahl der erzeugten Bilddateien +# +# Parameter 2 = Anzahl der Einzelzeichen + +MAIN="RUSKA7010" # device name +IMAGE_DIR=./images +MAX_DIGITS=9 # do not edit! +MAX_FILES=10 # do not edit! +NUMBER_OF_DIGITS=$MAX_DIGITS + +SHOW_EXP=true + +if [ -n "$1" ]; then + MAX_FILES=$1 + if [ -n "$2" ]; then + NUMBER_OF_DIGITS=$2 + fi +fi + +rm -rf "$IMAGE_DIR" +mkdir -p "$IMAGE_DIR" + +emptyCanvas='xc:transparent' + +charFile[0]='char-0.png' +charFile[1]='char-1.png' +charFile[2]='char-2.png' +charFile[3]='char-3.png' +charFile[4]='char-4.png' +charFile[5]='char-5.png' +charFile[6]='char-6.png' +charFile[7]='char-7.png' +charFile[8]='char-8.png' +charFile[9]='char-9.png' +charFile[10]='char-minus.png' +charFile[11]=$emptyCanvas + +charFile[100]='echar-0.png' +charFile[101]='echar-1.png' +charFile[102]='echar-2.png' +charFile[103]='echar-3.png' +charFile[104]='echar-4.png' +charFile[105]='echar-5.png' +charFile[106]='echar-6.png' +charFile[107]='echar-7.png' +charFile[108]='echar-8.png' +charFile[109]='echar-9.png' +charFile[110]='echar-minus.png' +charFile[111]='echar-plus.png' +charFile[112]='echar-E.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[10]='-' +NUM2CHAR[11]='' + +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[110]='-' +NUM2CHAR[111]='+' +NUM2CHAR[112]='E' + +charPos[1]='+175+214' +charPos[2]='+203+214' +charPos[3]='+240+214' +charPos[4]='+277+214' +charPos[5]='+314+214' +charPos[6]='+351+214' +charPos[7]='+288+182' +charPos[8]='+305+182' +charPos[9]='+329+182' + +dotPos[1]=${charPos[1]} +dotPos[2]=${charPos[2]} +dotPos[3]=${charPos[3]} +dotPos[4]=${charPos[4]} +dotPos[5]=${charPos[5]} +dotPos[6]=${charPos[6]} + +for ((FNb=1; FNb<=MAX_FILES; FNb++)); do + +DPR=$((RANDOM % 5 + 2)) # random dot position (2..6) +value="" +for (( i=1; i<=$MAX_DIGITS; i++ )); do + if (( $i <= $NUMBER_OF_DIGITS )); then + if (( $i == 1 )); then # sign of matissa + R=$((RANDOM % 2 + 10)) # random number (10..11='-'..'') + eval CHAR$i=${charFile[R]} + value+="${NUM2CHAR[R]}" + elif (( $i <= 6 )); then # matissa + R=$((RANDOM % 10)) # random number (0..9='0'..'9') + eval CHAR$i=${charFile[R]} + value+="${NUM2CHAR[R]}" + if (( $DPR == $i )); then + eval DOT$i="char-dot.png" + value+="." + else + eval DOT$i=$emptyCanvas; + fi + else # exponent + R=$((RANDOM % 13 + 100)) # random number (100..112='0'..'E') + eval CHAR$i=${charFile[R]} + value+="${NUM2CHAR[R]}" + fi + else + eval CHAR$i=$emptyCanvas; + eval DOT$i=$emptyCanvas; + fi +done # NUMBER_OF_DIGITS + +fname="$IMAGE_DIR/$MAIN@$value@.png" + +echo -e "$FNb:\t$fname" + +convert body.png \ + $CHAR1 -geometry ${charPos[1]} -composite \ + $CHAR2 -geometry ${charPos[2]} -composite \ + $DOT2 -geometry ${dotPos[2]} -composite \ + $CHAR3 -geometry ${charPos[3]} -composite \ + $DOT3 -geometry ${dotPos[3]} -composite \ + $CHAR4 -geometry ${charPos[4]} -composite \ + $DOT4 -geometry ${dotPos[4]} -composite \ + $CHAR5 -geometry ${charPos[5]} -composite \ + $DOT5 -geometry ${dotPos[5]} -composite \ + $CHAR6 -geometry ${charPos[6]} -composite \ + $DOT6 -geometry ${dotPos[6]} -composite \ + $CHAR7 -geometry ${charPos[7]} -composite \ + $CHAR8 -geometry ${charPos[8]} -composite \ + $CHAR9 -geometry ${charPos[9]} -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=??? + diff --git a/PFEIFFER_DualGauge/testImage b/PFEIFFER_DualGauge/testImage new file mode 100755 index 0000000000000000000000000000000000000000..cd719ca617962d78474120c763a78618b1e27734 --- /dev/null +++ b/PFEIFFER_DualGauge/testImage @@ -0,0 +1,123 @@ +#!/bin/bash + +MAIN="PFEIFFER_SingleGauge" # device name +IMAGE_DIR=./images + +emptyCanvas='xc:transparent' + +fname=yy.png + +charFile[0]='char-0.png' +charFile[1]='char-1.png' +charFile[2]='char-2.png' +charFile[3]='char-3.png' +charFile[4]='char-4.png' +charFile[5]='char-5.png' +charFile[6]='char-6.png' +charFile[7]='char-7.png' +charFile[8]='char-8.png' +charFile[9]='char-9.png' +charFile[10]='char-minus.png' +charFile[11]=$emptyCanvas + +charFile[100]='echar-0.png' +charFile[101]='echar-1.png' +charFile[102]='echar-2.png' +charFile[103]='echar-3.png' +charFile[104]='echar-4.png' +charFile[105]='echar-5.png' +charFile[106]='echar-6.png' +charFile[107]='echar-7.png' +charFile[108]='echar-8.png' +charFile[109]='echar-9.png' +charFile[110]='echar-minus.png' +charFile[111]='echar-plus.png' +charFile[112]='echar-E.png' + +DNR[1]=10 +DNR[2]=1 +DNR[3]=3 +DNR[4]=0 +DNR[5]=5 +DNR[6]=8 +DNR[7]=112 +DNR[8]=111 +DNR[9]=103 + +DOT1='char-dot.png' +DOT2='char-dot.png' +DOT3='char-dot.png' +DOT4='char-dot.png' +DOT5='char-dot.png' +DOT6='char-dot.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[10]='-' +NUM2CHAR[11]='_' + +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[110]='-' +NUM2CHAR[111]='+' +NUM2CHAR[112]='E' + +charPos[1]='+175+214' +charPos[2]='+203+214' +charPos[3]='+240+214' +charPos[4]='+277+214' +charPos[5]='+314+214' +charPos[6]='+351+214' +charPos[7]='+288+182' +charPos[8]='+305+182' +charPos[9]='+329+182' + +dotPos[1]=${charPos[1]} +dotPos[2]=${charPos[2]} +dotPos[3]=${charPos[3]} +dotPos[4]=${charPos[4]} +dotPos[5]=${charPos[5]} +dotPos[6]=${charPos[6]} + +convert body.png \ + ${charFile[ ${DNR[1]} ]} -geometry ${charPos[1]} -composite \ + ${charFile[ ${DNR[2]} ]} -geometry ${charPos[2]} -composite \ + $DOT2 -geometry ${dotPos[2]} -composite \ + ${charFile[ ${DNR[3]} ]} -geometry ${charPos[3]} -composite \ + $DOT3 -geometry ${dotPos[3]} -composite \ + ${charFile[ ${DNR[4]} ]} -geometry ${charPos[4]} -composite \ + $DOT4 -geometry ${dotPos[4]} -composite \ + ${charFile[ ${DNR[5]} ]} -geometry ${charPos[5]} -composite \ + $DOT5 -geometry ${dotPos[5]} -composite \ + ${charFile[ ${DNR[6]} ]} -geometry ${charPos[6]} -composite \ + $DOT6 -geometry ${dotPos[6]} -composite \ + ${charFile[ ${DNR[7]} ]} -geometry ${charPos[7]} -composite \ + ${charFile[ ${DNR[8]} ]} -geometry ${charPos[8]} -composite \ + ${charFile[ ${DNR[9]} ]} -geometry ${charPos[9]} -composite \ + $fname + +value="${NUM2CHAR[DNR[1]]}${NUM2CHAR[DNR[2]]}${NUM2CHAR[DNR[3]]}" +value+="${NUM2CHAR[DNR[4]]}${NUM2CHAR[DNR[5]]}${NUM2CHAR[DNR[6]]}" +value+="${NUM2CHAR[DNR[7]]}${NUM2CHAR[DNR[8]]}${NUM2CHAR[DNR[9]]}" + +fname="$IMAGE_DIR/$MAIN@$value@.png" + +echo -e "$fname" + +exit diff --git a/PFEIFFER_SingleGauge/createImages b/PFEIFFER_SingleGauge/createImages index 12d73dcaab3d5c092a6caa2b66093877fbc8fabc..b402fb3694d3a8cf851e0ed697f29e61db487075 100755 --- a/PFEIFFER_SingleGauge/createImages +++ b/PFEIFFER_SingleGauge/createImages @@ -107,7 +107,7 @@ value="" for (( i=1; i<=$MAX_DIGITS; i++ )); do if (( $i <= $NUMBER_OF_DIGITS )); then if (( $i == 1 )); then # sign of matissa - R=$((RANDOM % 2 + 10)) # random number (10..11='-'..' ') + R=$((RANDOM % 2 + 10)) # random number (10..11='-'..'') eval CHAR$i=${charFile[R]} value+="${NUM2CHAR[R]}" elif (( $i <= 6 )); then # matissa