Noch ein Covermaker für Linux

Hallo und guten Tag, da ich mir auch einen Cover-Maker gescriptet habe, möchte ich euch den nicht vorenthalten. Er ist bewusst simpel gehalten, damit er problemlos auch von Anwendern geändert werden kann, die nicht auf der Konsole „zu hause“ sind. Da ich noch Herma 5065-Etiketten rumliegen hatte, habe ich damit gearbeitet (= 1 einzelnes DinA4 - Etikett, kein Stress mit „nicht passenden“ Bildern und verschiedenen Druckern).
Eure Meinung?

#!/bin/sh
####################
# CArd COver MAker #
# v0.3             #
####################

# für 10 Bilder im Arbeits-Verzeichnis gedacht
# für große A4 Einzel-Etiketten zum Zerschneiden Herma 5065
# erzeugt 5 Reihen zu 2 Bildern ( Din A4 = 21cm x 29,7cm )
# zum Testen wurden shutter-screenshots ca. 600x600px von CD-Covern benutzt
# und jpg-Bilder 200x180px, 729x709px, 800x800px, 1424x1422px
# script im Arbeitsverzeichnis ausführen Konsolenbefehl: $> ./cacoma.sh
# Variable "ext" anpassen (jpg, png)
# vor jedem neuen scriptaufruf, die alten kleinen Dateien löschen!
# ist nicht automatisiert, da sie so weiter verwendet werden könnten
#
# das "!" in (-resize L!xB!) erzwingt die Maße, ohne Rücksicht auf das Seitenverhältnis
# die Bilder werden dadurch in die Breite gezogen - stört die Kinder nicht :-)
# Werte je nach an eigenem Drucker/eigenen Etiketten anpassen
# Theorie:
# pixel / Druckauflösung * 2,54 = cm
# (472/150)*2,54=  8cm
# (295/150)*2,54=  5cm


#ext=jpg
ext=png

i=0
rahmen_lang=20
rahmen_hoch=20
#pix_lang=472 # rahmen dazu wäre 482
#pix_hoch=295 # rahmen dazu wäre 305
# eigene Werte:
pix_lang=455 # zwei rahmen dazu wäre 495
pix_hoch=280 # zwei rahmen dazu wäre 320
pix_blanco_lang=455 # leeres weißes Bild, temporär
pix_blanco_hoch=280


clear  # clearscreen
echo
echo \" ...bin am arbeiten ... \"

# Bildgröße aller Bilder im Verzeichnis ändern auf ca. 8x5cm
for bild in *.${ext}
	do
 	convert -resize $pix_lang\!x$pix_hoch\! \
                -bordercolor White \
                -border $rahmen_langx$rahmen_hoch \
                 $bild ./klein_$bild
done

# neue Bilder umbenennen (1_klein  etc)
for neu in klein_*.${ext}
	do
	i=`expr $i + 1`
	echo verarbeite...  "$i"_$neu
 mv $neu ""$i"_$neu"
done

# blanco-Bild erzeugen
# für ungerade Anzahl bei Montage 
function_blanco() {
 convert -resize ${pix_blanco_lang}x${pix_blanco_hoch} xc:none \
         -fill white \
         -draw "rectangle 0,0 ${pix_blanco_lang},${pix_blanco_hoch}" \
          00_blanco.png
}

# Aufräumen
function_rm(){
if test -f 00_blanco.${ext}
then
    rm 00_blanco.${ext}
fi
}

function_1B() {
reihe1="1_klein*.${ext} 00_blanco.${ext}"
convert  \( $reihe1 +append \) 0_montage.png
function_rm
}
function_2B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
convert  \( $reihe1 +append \) 0_montage.png
}
function_3B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 00_blanco.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
            -append 0_montage.png
function_rm
}
function_4B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 4_klein*.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
            -append 0_montage.png
}
function_5B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 4_klein*.${ext}"
reihe3="5_klein*.${ext} 00_blanco.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
         \(  $reihe3 +append \) -append\
            -append 0_montage.png
function_rm
}
function_6B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 4_klein*.${ext}"
reihe3="5_klein*.${ext} 6_klein*.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
         \(  $reihe3 +append \) -append\
            -append 0_montage.png
}
function_7B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 4_klein*.${ext}"
reihe3="5_klein*.${ext} 6_klein*.${ext}"
reihe4="7_klein*.${ext} 00_blanco.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
         \(  $reihe3 +append \) -append\
         \(  $reihe4 +append \) -append\
            -append 0_montage.png
function_rm
}

function_8B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 4_klein*.${ext}"
reihe3="5_klein*.${ext} 6_klein*.${ext}"
reihe4="7_klein*.${ext} 8_klein*.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
         \(  $reihe3 +append \) -append\
         \(  $reihe4 +append \) -append\
            -append 0_montage.png
}

function_9B() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 4_klein*.${ext}"
reihe3="5_klein*.${ext} 6_klein*.${ext}"
reihe4="7_klein*.${ext} 8_klein*.${ext}"
reihe5="9_klein*.${ext} 00_blanco.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
         \(  $reihe3 +append \) -append\
         \(  $reihe4 +append \) -append\
         \(  $reihe5 +append \) -append\
            -append 0_montage.png
function_rm
}


function_X() {
reihe1="1_klein*.${ext} 2_klein*.${ext}"
reihe2="3_klein*.${ext} 4_klein*.${ext}"
reihe3="5_klein*.${ext} 6_klein*.${ext}"
reihe4="7_klein*.${ext} 8_klein*.${ext}"
reihe5="9_klein*.${ext} 10_klein*.${ext}"
convert  \(  $reihe1 +append \) \
	 \(  $reihe2 +append \) -append\
         \(  $reihe3 +append \) -append\
         \(  $reihe4 +append \) -append\
         \(  $reihe5 +append \) -append\
            -append 0_montage.png
}


function_montage() {
echo Wieviel Etiketten sollen montiert werden 1-10??
echo Anschließend Bilder löschen nicht vergessen!
read anzahl
case $anzahl in
     1) echo montiere 1 Reihe,  1 Bild   ; function_blanco ; function_1B ;;
     2) echo montiere 1 Reihe,  2 Bilder ; function_2B ;;
     3) echo montiere 2 Reihen, 3 Bilder ; function_blanco ; function_3B ;;
     4) echo montiere 2 Reihen, 4 Bilder ; function_4B ;;
     5) echo montiere 3 Reihen, 5 Bilder ; function_blanco ; function_5B ;;
     6) echo montiere 3 Reihen, 6 Bilder ; function_6B ;;
     7) echo montiere 4 Reihen, 7 Bilder ; function_blanco ; function_7B ;;
     8) echo montiere 4 Reihen, 8 Bilder ; function_8B ;;
     9) echo montiere 5 Reihen, 9 Bilder ; function_blanco ; function_9B ;;
    10) echo montiere 5 Reihen, 10 Bilder ; function_X ;;

esac
}
# Bilder zum A4-Bild zusammenfügen, Aufruf der Montage
function_montage

echo Gleiche Bilder nochmal montieren ?
read answer
case $answer in
  j*|J*|y*|Y*) function_montage ;;
  n*|N*) exit ;;
  *)echo uups - $answer ist falsche Wahl - nochmal...; function_montage ;;
esac


echo \\n
echo \\n
echo Din-A4-Bild: \"0_montage.png\" erstellt!
echo \\n
echo \\n
2 Like