Realizzare un visualizzatore di immagini con Lazarus è un
ottimo esercizio per prendere confidenza con la
programmazione di applicazioni desktop. In un unico progetto
si imparano a utilizzare componenti fondamentali come
TImage,
TOpenDialog,
TButton e
TLabel,
oltre a gestire file, eventi ed eccezioni.
Creare un visualizzatore di immagini
con Lazarus.
Pubblicato il: 12-7-2026
Ultima Modifica: 12-7-2026
Introduzione
Uno dei progetti più interessanti per chi inizia a
programmare con Lazarus consiste nella
realizzazione di un semplice visualizzatore di
immagini.
Un programma di questo tipo permette di imparare ad
utilizzare molti componenti fondamentali dell'ambiente di
sviluppo, come pulsanti, menu, finestre di dialogo e
controlli grafici.
Al termine di questo tutorial avrai realizzato
un'applicazione in grado di:
🖼️ aprire un'immagine dal disco;
📂 scegliere il file tramite una finestra di dialogo;
🔍 adattare automaticamente l'immagine alla finestra;
📋 visualizzare alcune informazioni sul file aperto;
🔄 aprire immagini diverse senza riavviare il
programma.
Pur essendo un progetto semplice, introduce tecniche che
ritroverai in applicazioni molto più complesse.
Come funzionerà il programma
Il nostro visualizzatore seguirà questo semplice schema.
Il nome del file viene visualizzato nella finestra.
Chiudere il programma
Il pulsante Chiudi richiede una sola
istruzione.
procedure
TForm1.BtnChiudiClick(Sender: TObject); begin Close;
end;
L'applicazione verrà terminata immediatamente.
Caricare automaticamente l'ultima immagine
Un piccolo miglioramento consiste nel ricordare l'ultimo
file aperto.
È sufficiente memorizzare il percorso in un file INI o in
un file di configurazione.
All'avvio:
Legge il file INI
↓
Trova il nome dell'immagine
↓
La visualizza automaticamente
L'utente ritroverà l'ultima immagine aperta senza doverla
selezionare nuovamente.
Visualizzare il percorso completo
Oltre al nome del file possiamo mostrare anche il
percorso.
LabelInfo.Caption :=
OpenDialog1.FileName;
Esempio:
C:\Foto\Vacanze\Mare.jpg
Controllare se il file esiste
if FileExists(OpenDialog1.FileName)
then begin Image1.Picture.LoadFromFile(
OpenDialog1.FileName); end;
È sempre buona norma verificare che il file sia presente.
In questo modo si evitano errori se il file è stato
eliminato o spostato.
Gestire gli errori
Può accadere che l'utente selezioni un file danneggiato o
non supportato.
È consigliabile utilizzare un blocco
try...except.
try
Image1.Picture.LoadFromFile(
OpenDialog1.FileName); except on E: Exception do
ShowMessage( 'Errore durante il
caricamento:' + LineEnding +
E.Message); end;
L'applicazione continuerà a funzionare anche in caso di
problemi.
Visualizzare le dimensioni dell'immagine
Possiamo leggere le dimensioni direttamente dal
componente Picture.
LabelInfo.Caption :=
IntToStr(Image1.Picture.Width) + ' x ' +
IntToStr(Image1.Picture.Height);
Risultato:
1920 x 1080 pixel
Aggiungere uno Zoom
Una semplice funzione di zoom può essere ottenuta
modificando la proprietà Stretch.
Schema:
100%
↓
150%
↓
200%
↓
50%
Per uno zoom più avanzato si possono utilizzare
componenti grafici dedicati o intervenire sulle dimensioni
del controllo TImage.
Aprire immagini con un doppio clic
È possibile associare i file immagine al programma.
Lo schema sarà il seguente.
Doppio clic su una foto
↓
Windows avvia il programma
↓
L'immagine viene caricata
Questa funzionalità richiede la registrazione
dell'applicazione come programma predefinito per i formati
desiderati.
Creare una barra degli strumenti
Per rendere il programma più gradevole si può aggiungere
un componente TToolBar.
L'utente potrà utilizzare sia il menu che i pulsanti.
Formati supportati
Lazarus supporta numerosi formati grafici.
Tra i più comuni troviamo:
🖼️ BMP
📸 JPEG
🌄 PNG
🎨 GIF
🖌️ ICO
🪟 XPM
Altri formati possono essere aggiunti utilizzando
librerie dedicate.
Miglioramenti possibili
Una volta completato il progetto, puoi aggiungere
numerose funzionalità.
⏭️ immagine successiva e precedente;
📂 apertura di un'intera cartella;
🖱️ trascinamento (Drag & Drop);
🔍 zoom con la rotella del mouse;
🖥️ modalità a schermo intero;
🌙 tema chiaro e scuro;
🖼️ presentazione automatica (slideshow);
⭐ elenco delle immagini preferite;
🗂️ miniature delle immagini;
🖨️ stampa della foto visualizzata.
Questi miglioramenti trasformano un semplice esercizio in
un'applicazione molto più completa.
Buone pratiche
Durante lo sviluppo di un visualizzatore di immagini è
consigliabile:
verificare sempre l'esistenza del file prima del
caricamento;
gestire le eccezioni con try...except;
mantenere le proporzioni delle immagini utilizzando
la proprietà Proportional;
evitare di caricare immagini troppo grandi senza
controllarne le dimensioni, per non consumare
inutilmente memoria;
separare il codice dedicato all'interfaccia grafica
da quello che gestisce il caricamento dei file, così da
rendere il progetto più ordinato e facile da mantenere.
Conclusione
Realizzare un visualizzatore di immagini con Lazarus è un
ottimo esercizio per prendere confidenza con la
programmazione di applicazioni desktop. In un unico progetto
si imparano a utilizzare componenti fondamentali come
TImage, TOpenDialog,
TButton e TLabel,
oltre a gestire file, eventi ed eccezioni.
Una volta acquisite queste basi sarà semplice espandere
il programma aggiungendo nuove funzionalità, come lo zoom
avanzato, la rotazione delle immagini, la stampa, la
navigazione tra le fotografie e persino la modifica delle
immagini. Con pochi componenti e qualche decina di righe di
codice è possibile realizzare un'applicazione utile e
rappresentativa delle potenzialità offerte da Lazarus e Free
Pascal.