@echo off

rem ==================================================================================
rem componi.bat   (c) andrea set 2008
set VERSIONE=1.4
rem consente di comporre automaticamente le foto montate 4 foto per riga con 3 righe
rem ==================================================================================


rem *****************************************************
rem EQU         equal to
rem NEQ         not equal to
rem LSS         less than
rem LEQ         less than or equal to
rem GTR         greater than
rem GEQ         greater than or equal to
rem Comparison operators
rem *****************************************************

rem *****************************************************
rem NOTE sull'espansione delle variabili di ambiente
rem
rem %VAR% espande una variabile di ambiente
rem la prossima riga ritarda l'espansione delle variabil
rem setlocal EnableDelayedExpansion
rem !var! invece esegue immediatamente l'espansione
rem *****************************************************



setlocal EnableDelayedExpansion

rem --------------------------------------
rem Fissa le variabili globali
rem MAXI=12 -> SIZE=600x600 -> NRRIGHE=X3
rem --------------------------------------
set MAXI=6
set SIZE=600x600
set NRRIGHE=x2

cls
echo ----------------------------------------------
echo Che opzione si desidera tra:
echo [2]    MAXI=2   SIZE=800x800  NRRIGHE=X1
echo [4]    MAXI=4   SIZE=600x600  NRRIGHE=X2
echo [6]    MAXI=6   SIZE=600x600  NRRIGHE=X2
echo [8]    MAXI=8   SIZE=600x600  NRRIGHE=X2
echo [9]    MAXI=9   SIZE=600x600  NRRIGHE=X3
echo [12]   MAXI=12  SIZE=600x600  NRRIGHE=X3
echo ----------------------------------------------
echo -
set /p OPT=- Selezionare Opzione:

if !OPT!a equ a (
	cls
	echo ------------------------------------------
	echo Selezionare il formato richiesto
	echo ------------------------------------------
	goto FINE
)
if !OPT! equ 2 (
	set MAXI=2
	set SIZE=800x800
	set NRRIGHE=x1
)
if !OPT! equ 4 (
	set MAXI=4
	set SIZE=600x600
	set NRRIGHE=x2
)
if !OPT! equ 6 (
	set MAXI=6
	set SIZE=600x600
	set NRRIGHE=x2
)
if !OPT! equ 8 (
	set MAXI=8
	set SIZE=600x600
	set NRRIGHE=x2
)
if !OPT! equ 9 (
	set MAXI=9
	set SIZE=600x600
	set NRRIGHE=x3
)
if !OPT! equ 12 (
	set MAXI=12
	set SIZE=600x600
	set NRRIGHE=x3
)

rem *
rem * --- cancella i precedenti risultati
rem *
del foglio*.jpg

echo Eseguibili di imagemagick in: %imgmgk%
set imgmgk=c:\programmi\imagemagick\

rem test se esiste imagemagic
if not exist !imgmgk!convert.exe (
	echo Non ho trovato il programma convert.exe di imagemagic nel percorso: !imgmgk!
	echo Impossibile continuare
	echo =========================================================================
	goto FINE
)


rem goto SALTA

set CONTA=0
FOR %%i IN (*.JPG) DO (
	set SRC=%%i
	rem echo elaboro: !src!

	set /a CONTA+=1
	set ETICHETTA=!SRC!
	set ETICHETTA=!ETICHETTA:~0,-4!
	echo !CONTA! Elaboro !ETICHETTA!
	rem %imgmgk%convert -pointsize 25 -caption !ETICHETTA! !SRC! -gravity center -bordercolor white -background black -resize 600x600 +polaroid !ETICHETTA!.PNG
	%imgmgk%convert -pointsize 25 -caption !ETICHETTA! !SRC! -gravity center -bordercolor white -background black -resize !SIZE! +polaroid !ETICHETTA!.PNG
)

:SALTA


rem *
rem * --- compone le pagine pagina
rem *
set PAGINA=1
set CONTA=0
set LISTAFILE=


FOR %%i IN (*.PNG) DO (
	set SRC=%%i
		
	set /a CONTA+=1
	set LISTAFILE=!LISTAFILE! !SRC!

	if !CONTA! equ !MAXI! (

		rem *
		rem * --- esegue un trim a 000
		rem *
		set NOMEFOGLIO=0000!PAGINA!
		set NOMEFOGLIO=Foglio-!NOMEFOGLIO:~-3!.jpg

		rem echo Pagina: !PAGINA! Nomefoglio: !NOMEFOGLIO! ListaFile: !LISTAFILE!
		rem pause

		echo Creazione: !PAGINA!

		rem %imgmgk%montage !LISTAFILE! -tile x3 -frame 0 -background black -geometry +5+5 !NOMEFOGLIO!
		%imgmgk%montage !LISTAFILE! -tile !NRRIGHE! -frame 0 -background black -geometry +5+5 !NOMEFOGLIO!

		set /a PAGINA+=1
		set CONTA=0
		set LISTAFILE=
	)
)

if CONTA  gtr 0 (

		rem *
		rem * --- esegue un trim a 000
		rem *
		set NOMEFOGLIO=0000!PAGINA!
		set NOMEFOGLIO=Foglio-!NOMEFOGLIO:~-3!.jpg


		rem echo Pagina: !PAGINA! Nomefoglio: !NOMEFILE! ListaFile: !LISTAFILE!
		rem pause

		echo Creazione: !PAGINA!

		rem %imgmgk%montage !LISTAFILE! -tile x3 -frame 0 -background black -geometry +5+5 !NOMEFOGLIO!
		%imgmgk%montage !LISTAFILE! -tile !NRRIGHE! -frame 0 -background black -geometry +5+5 !NOMEFOGLIO!
 )


echo ---------------------------------------------------------
echo - Creati i seguenti fogli:
dir foglio*.jpg /b
echo - ricordarsi di cancellare i file PNG creati
echo ---------------------------------------------------------
echo Componi.bat Versione:!VERSIONE! by Andrea Sommaruga
:FINE


rem EOF COMPONI.BAT
