L’immagine è senz’altro una delle tipologie di dato con cui ci si trova più spesso a interagire, in particolare navigando in rete. Quasi tutte le pagine web sono popolate da contenuti multimediali, tra cui foto o loghi, che contribuiscono ad abbellirne e, in molti casi, anche ad arricchirne il messaggio.
Anche i meno smaliziati tra gli utenti avranno senz’altro notato, ad esempio, salvando un’immagine presente su una pagina web, che non esiste un unico formato per questa tipologia di dato, ma diversi.
Per rendersene conto, è sufficiente osservare con attenzione l’estensione dei file stessi (la sigla dopo il “.”, nel nome del file, ad esempio il file prova.jpg ha estensione jpg), che non è univoca. Siamo quindi di fronte a diversi modi di memorizzare un dato di tipo immagine, ovvero a diverse codifiche dello stesso dato.
Ma quali sono le principali codifiche utilizzate? Quali le caratteristiche principali di ciascuna?
Il formato BMP
Il formato BMP non è in realtà tra i più utilizzati in rete, ma corrisponde probabilmente alla rappresentazione più intuitiva di un dato di tipo immagine: vale quindi comunque la pena di esaminarlo, per comprendere meglio anche le altre rappresentazioni, più compatte ma anche più complesse.
Un’immagine codificata in formato BMP può essere assimilata a una scacchiera. Ciascuna casella, di dimensione 1 pixel, può essere bianca o colorata di un certo colore (espresso di norma come combinazione di rosso, verde e blu, secondo lo standard RGB).
L’immagine viene dunque definita per punti, secondo una logica che prende il nome di raster. I parametri che caratterizzano l’immagine sono:
- Risoluzione, ovvero il numero di pixel per unità di spazio (in genere l’unità di riferimento è il pollice, dunque si parla di punti per pollice o Dot Per Inch, DPI)
- Profondità di colore, misurata con il numero di bit dedicati alle componenti elementari di colore, indica il numero di tonalità disponibili e dunque la qualità delle sfumature
Il formato BMP è molto interessante per immagini su cui si desiderino applicare modifiche di contrasto o di luminosità, o anche filtraggi di colore. Ciascun punto è infatti ben definito e un filtraggio di questo tipo può quindi essere calibrato alla perfezione.
D’altronde, in tutti quei casi in cui la dimensione dell’immagine viene alterata da successive modifiche, come nel caso di uno zoom, può essere necessario generare ex novo dei punti appartenenti alla nuova immagine, che non esistevano nella sua versione precedente.
Sono disponibili alcune tecniche, dette di interpolazione, dedicate specificamente a tale compito, ma la qualità di un’immagine .bmp viene in ogni caso peggiorata da un’operazione di tal genere.
Da non sottovalutare inoltre, specialmente in un contesto come quello della rete Internet, che, a livello di spazio su disco, la codifica .bmp necessita di un numero di bit pari al triplo della profondità di colore moltiplicato per il numero di pixel dell’immagine.
Le immagini .bmp sono quindi in genere file poco adatti a essere inseriti su una pagina web, dato che ne rallenterebbero di molto il caricamento con conseguente disagio per gli utenti. Esistono alternative che garantiscono una compressione maggiore, ad esempio il formato .jpg.
Il formato JPG
Si tratta di una delle codifiche più utilizzate in assoluto per dati di tipo immagine. Salta subito all’occhio come lo spazio occupato su disco da un file .jpg sia di gran lunga minore rispetto allo stesso file in formato BMP. Come è possibile realizzare tale compressione?
Prima di tutto, la compressione di tipo JPG altera i dati originali. I colori ritenuti superflui vengono eliminati, portando a una riduzione della scala cromatica tanto più forte quanto più la qualità del file JPG viene impostata a un valore basso (tale parametro è infatti a discrezione dell’utente, in fase di salvataggio del file).
Naturalmente, una maggiore riduzione consente una maggiore compressione e, dunque, un caricamento più veloce dell’immagine se inserita su una pagina web. Assistiamo però anche a una perdita di qualità, dovuta all’alterazione dei dati. Si tratta quindi di una tecnica lossy (con perdità di qualità tale da rendere impossibile ricostruire i dati originali) e non di una tecnica lossless (senza perdita di qualità tale da rendere impossibile ricostruire i dati originali).
L’effetto visivo è quello di una scarsa messa a fuoco, tanto più evidente al decrescere del parametro di qualità. Considerato anche il fatto che tale parametro è impostabile da parte dell’utente, la codifica JPG rappresenta comunque spesso un compromesso accettabile tra dimensione su disco e piacevolezza dell’immagine.
Il formato PNG
Il formato PNG offre un’alternativa robusta tra le opzioni disponibili per le immagini sul web. Anche in questo caso si assiste a una compressione del file, ma si tratta di una compressione di tipo lossless, ovvero di una rielaborazione razionale dei dati che consente di risparmiare spazio su disco pur potendo ricostruire con esattezza le informazioni originali.
Come possiamo immaginare, però, la capacità di compressione risulta leggermente ridotta e quindi un file PNG occupa maggior spazio anche di un file JPG con qualità piuttosto alta.
Da sottolineare, tuttavia, come le immagini PNG possano essere dotate anche di trasparenze sfumate e siano quindi adatte anche a un tipo di figura più elaborato. Inoltre, è supportato il metodo di caricamento interallacciato. Si tratta in sostanza di questo: invece di attendere che l’immagine sia completamente caricata per visualizzarla, si può vedere un’immagine meno definita in fase di caricamento della pagina. Tale caratteristica risulterà interessante nel caso di connessioni lente.
Una piccola controindicazione però dal punto di vista della resa a video: la codifica PNG applica anche un tipo di correzione di colore detta gamma correction, che dipende dalle caratteristiche del monitor in uso. Tale correzione però non viene applicata, ad esempio, al colore di sfondo di una pagina web indicato tramite un foglio di stile .css.
Può essere quindi che una certa immagine, impostata in modo da abbinarsi bene con lo sfondo, risulti alterata a seconda del computer su cui viene visualizzata. Per gli utenti più smaliziati, esiste un programma Linux di nome pngcrush, utilizzabile da riga di comando, in grado di rimuovere questo fastidioso problema eliminando la correzione gamma da un’immagine PNG.
Il formato GIF
Le immagini in formato GIF, così come le immagini PNG, supportano il metodo di caricamento interallacciato, per venire incontro agli usufruitori di connessioni a internet più lente. Risulta inoltre possibile applicare l’effetto di trasparenza, sia pure soltanto a un colore per volta.
La codifica GIF consente la ricostruzione dei dati originali (compressione lossless), ma permette unicamente rappresentazioni con uno spettro cromatico di 256 colori, risultando quindi poco adatta a immagini in cui sfumature e tonalità risultino particolarmente rilevanti.
La caratteristica forse più nota e interessante del formato GIF, capace di renderlo molto popolare sulla rete, è però un’altra. Si tratta della possibilità di creare piccole e semplici animazioni.
Si definisce cioè un insieme di immagini che vengono presentate ripetutamente in rapida sequenza, creando l’illusione del movimento. Si tratta senz’altro di uno strumento interessante su cui lavorare per fornire alla propria pagina web un tocco di originalità e brillantezza.
In conclusione, la scelta del formato immagine da utilizzare sul web dipende da vari fattori, tra cui il tipo di contenuto, la qualità desiderata e la larghezza di banda degli utenti. È fondamentale considerare le esigenze del progetto e il pubblico di riferimento per ottimizzare l’esperienza di navigazione.