Volevo condividere questo piccolo tool per la generazione di thumbnail e gallerie fotografiche. Non è un progetto recentissimo ed è stato scritto in VB.NET, ma è tornato utile in diverse situazioni. L'applicazione si presenta come un'unica finestra composta da un TabControl con due TabPage in una Windows Form.
Com'è facile intuire, il campo "Percorso immagini" specifica il percorso dove risiedono le immagini da cui bisogna partire per creare i thumbnail o la galleria fotografica. I campi presenti nel TabPage "Thumbnail" sono:
Mantieni proporzioni foto - Blocca il ridimensionamento fisso. Viene abilitato il ridimensionamento in percentuale e vengono rispettate le proporzioni tra i lati delle foto.
Ridimensionamento fisso - In questi campi viene specificata la dimensione dell'altezza e della larghezza delle thumbnail generate. Non viene rispettata la proporzione tra la larghezza e l'altezza delle immagini di origine. Piccola osservazione, se l'immagine originale ha dimensioni 100x100, un ridimensionamento al 20% produce un immagine 20x20
Qualità thumbnail - Specifica la qualità (jpg) delle thumbnail generate.
Il secondo TabPage, "Galleria Fotografica", è leggermente più complesso.
La galleria fotografica è intesa come una serie di pagine HTML, ognuna contenente un certo numero di miniature (le thumbnail) , sulle quali agendo con il mouse mediante click o passaggio del cursorse, permette la visualizzazione dell'immagine corrispondente a dimensioni maggiori. In ogni pagina, il numero di miniature è prestabilito. Per abilitare la creazione delle gallerie fotografiche è necessario impostare il flag sul CheckBox Crea galleria fotografica. Il campo Template galleria (a scelta multipla, mediante ComboBox) contiene un'elenco dei template disponibili per la creazione delle gallerie. La lista dei template e il file con la lista utilizzata per popolare il ComboBox risiedono nella stessa directory dell'eseguibile, all'interno della directory Templates. Ogni template è a sua volta composto da una sottodirectory denominata "Template_0","Template_1" etc... Il file della lista che descrive i nomi dei template è un semplice file di testo (List.txt) contenete una riga per ogni modello, ad esempio:
Classico
Troposfera
La prima voce nell'elenco corrisponde a "Template_0", la seconda a "Template_1" etc...
All'interno di ogni directory-modello sono presenti quattro file:
CSSTemplate.txt - Contiene il CSS globale utilizzato per la creazione della galleria.
CSSItemTemplate.txt - Contiene la specifica del CSS utilizzato per la visualizzazione dei thumbnail nella pagina HTML
PageTemplate.txt - Contiene il modello della pagina HTML che ospita la galleria
PageItemTemplate.txt - Contiene il modello dell'HTML utilizzato per la visualizzazione dei thumbnail nella pagina HTML
"Giocando" con questi file è possibile generare gallerie fotografiche secondo le proprie esigenze senza mettere mani al codice (si spera :-)). Ovviamente si possono aggiungere altri template e personalizzare il codice. Nel TabPage delle gallerie fotografiche, il significato dei campi esposti è leggermente diverso:
Dimensioni thumbnail - Specifica le dimensioni fisse dei thumbail della galleria fotografica. In linea teorica con un click o un mouseover su di esse, dovrebbero essere visualizzate le rispettive immagini a dimensioni originali
Dimensione immagine - Specifica le dimensioni in percentuale (quindi rispettando le proporzioni) delle immagini che sono visualizzate agendo opportunamente sui corrispondenti thumbnail
Qualità immagine - Questa volta la qualità dell'immagine jpg è riferita alle immagini della galleria fotografica e non ai thumbnail
Nome pagina base - Nome base delle pagine HTML che compongono la galleria. Se il nome base fosse "Galleria", secondo il numero di foto ed il valore del campo Immagini per pagina, verrebbero create un certo numero di pagine denominate "Galleria_1.html", "Galleria_2.html","Galleria_3.html" navigabili,
Un esempio del risultato che si ottiene utilizzando il template "Classico" è il seguente:
Piccole osservazioni:
Se ad esempio il percorso contenente le foto da cui creare le thumbnail o la galleria fotografica è C:\Foto, le sole thumbnail sono generate nella sottodirectory C:\Foto\Dest, mentre la galleria fotografica in C:\Foto\Gallery. Il contenuto di questa cartella può essere utilizzato semplicemtene copiando ed incollando essendo autocontenuta.
Ovviamente sono già presenti numerosi tool commericali e free che eseguono queste operazioni, per le mie esigenze avevo bisogno di tool ad hoc e veloce. Del resto siamo sviluppatori di applicazioni o no? Altrimenti non ci si divertirebbe... Penso comunque di aggiornare il codice , ottimizzando le routine e magari eseguendo il porting in C# (forse utilizzando WPF).
In allegato, il progetto Visual Studio completo.
Thumbnail.zip