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

alle chars

parent 03ed19ed
No related branches found
No related tags found
No related merge requests found
PFEIFFER_DualGauge/body.png

377 KiB

PFEIFFER_DualGauge/char-1.png

2.72 KiB

PFEIFFER_DualGauge/char-3.png

3.14 KiB

PFEIFFER_DualGauge/char-4.png

3.03 KiB

PFEIFFER_DualGauge/char-7.png

3 KiB

PFEIFFER_DualGauge/char-9.png

3.15 KiB

PFEIFFER_DualGauge/char-dot.png

3 KiB

PFEIFFER_DualGauge/char-minus.png

2.32 KiB

#!/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=???
#!/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
......@@ -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
......
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