Il processo batch
Partiamo dal concetto che si vuole dare l’effetto di tempo reale: cioè un immagine corrispondente all’istante stesso in cui si sta guardando, oppure un immagine relativa a qualche secondo prima (o a qualche minuto prima)? L’importante è che sia corrispondente quanto più possibile alla realtà.
A questo punto mi è bastato mettere in pratica le (poche) conoscenze per l’implementazione di procedure batch per raggiungere la prima fase del risultato.
@echo off c: cd \ScreenCapture\Channel1 if EXIST *.gif GOTO DELETE_GIF if NOT EXIST *.bmp GOTO FINE :START FOR %%f in (*.bmp) do ren %%f conv_%%f.x FOR %%f in (*.x) do ren %%f conv_%%f.bmp convert -resize 360x288 conv_*.x.bmp img.gif del conv_*.x.bmp GOTO FINE :DELETE_GIF del *.gif GOTO START :FINE REM Fatto tutto @echo on
Per chi è pratico di processi batch non avrà problemi a comprendere quello che ho scritto per tutti gli altri invece:
- Mi posiziono nella cartella nella quale ci sono i vari fotogrammi;
- Se esiste un file gif salto alla sezione DELETE_GIF dove eseguo semplicemente la cancellazione di tutti i files con estensione gif nella cartella
- Se non esiste nemmeno un’immagine bitmap all’interno della cartella è inutile processare il batch quindi salto alla fine.
- Ciclo tutte le immagini attualmente presenti nella cartella e le rinomino in conv_[nome file].x.bmp perché il ciclo for altrimenti mi vedra un loop infinito di immagini bitmap visto che cambiano di nome le precedenti;
- Eseguo la conversione delle immagini bitmap in una unica immagine GIF (grazie ImageMagick!).
- Elimino le immagini che fino ad ora sono state convertite (del conv_*.x.bmp)