-
Rolf Niepraschk authoredRolf Niepraschk authored
createImages 2.71 KiB
#!/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
#
# Parameter 2 = Anzahl der Einzelzeichen
MAIN="RUSKA7010" # device name
IMAGE_DIR=./images
MAX_DIGITS=12 # 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]=$emptyCanvas # empty canvas
charFile[11]='char-dot.png'
charFile[12]='char-k.png'
charFile[13]='char-P.png'
charFile[14]='char-a.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[12]='k'
NUM2CHAR[13]='P'
NUM2CHAR[14]='a'
charPos[1]='+160+221'
charPos[2]='+182+221'
charPos[3]='+204+221'
charPos[4]='+224+221'
charPos[5]='+248+221'
charPos[6]='+270+221'
charPos[7]='+292+221'
charPos[8]='+313+221'
charPos[9]='+335+221'
charPos[10]='+355+221'
charPos[11]='+377+221'
charPos[12]='+398+221'
for ((FNb=1; FNb<=MAX_FILES; FNb++)); do
value=""
for (( i=1; i<=$MAX_DIGITS; i++ )); do
if (( $i <= $NUMBER_OF_DIGITS )); then
R=$((RANDOM % 15)) # random digit number (0..14='0'..'a')
eval CHAR$i=${charFile[R]}
value+="${NUM2CHAR[R]}"
else
eval CHAR$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 \
$CHAR3 -geometry ${charPos[3]} -composite \
$CHAR4 -geometry ${charPos[4]} -composite \
$CHAR5 -geometry ${charPos[5]} -composite \
$CHAR6 -geometry ${charPos[6]} -composite \
$CHAR7 -geometry ${charPos[7]} -composite \
$CHAR8 -geometry ${charPos[8]} -composite \
$CHAR9 -geometry ${charPos[9]} -composite \
$CHAR10 -geometry ${charPos[10]} -composite \
$CHAR11 -geometry ${charPos[11]} -composite \
$CHAR12 -geometry ${charPos[12]} -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=???