BMP è il formato di immagine bitmap che Microsoft ha integrato in Windows, ed è parte del sistema fin dalle sue prime versioni grafiche; una variante strettamente correlata è arrivata da OS/2 di IBM. L'idea non è mai stata una compressione sofisticata. Un BMP è quasi un semplice dump dei pixel che un programma invierebbe allo schermo, racchiuso in una breve intestazione che spiega come leggerli. I file BMP si incontrano ancora come icone e risorse all'interno di software Windows, come output di semplici programmi di cattura e come formato intermedio quando un programma passa un'immagine a un altro.
Come un BMP memorizza la sua immagine
Quasi sempre non compresso. Il file inizia con una piccola intestazione che contiene le due lettere BM, la dimensione del file e la posizione in cui iniziano i pixel, poi una seconda intestazione che descrive l'immagine stessa: larghezza, altezza, profondità di bit e come sono disposti i colori. Dopo viene una tavolozza opzionale e poi l'array di pixel, un valore per pixel senza nulla rimosso.
Ci sono due peculiarità che sorprendono molti. Le righe sono normalmente memorizzate dal basso verso l'alto, quindi i primi pixel nel file sono l'angolo in basso a sinistra dell'immagine, e ogni riga è riempita fino a un multiplo di quattro byte. Le profondità di bit vanno da 1 bit, che significa due colori, passando per tavolozze a 4 e 8 bit, fino a 16, 24 e 32 bit di colore pieno. Esiste una compressione run-length per le modalità a 4 e 8 bit, ma è raramente usata, e la modalità a 32 bit può contenere un canale di trasparenza alfa, sebbene i software più vecchi spesso lo ignorino.
Poiché nulla è compresso, la dimensione è prevedibile e grande: un BMP a 24 bit costa tre byte per pixel indipendentemente da ciò che contiene l'immagine, quindi una fotografia che entra in un piccolo JPG diventa molti megabyte. In cambio il formato è estremamente facile da leggere e scrivere, ed è lossless: nessun dettaglio viene mai scartato.
Quali metadati contiene un BMP
Molto poco, ed è la cosa più importante da sapere sul formato. I metadati sono le informazioni descrittive che un file conserva su se stesso, e BMP è stato progettato prima che questa idea fosse rilevante. Non ci sono EXIF, IPTC o XMP in un BMP, quindi non c'è spazio per memorizzare un modello di fotocamera, il nome di un fotografo, una didascalia o delle coordinate GPS. Non ha un campo autore, nessun titolo e nessun campo data di alcun tipo: l'unica data per un BMP è quella che mantiene il file system, che sta fuori dal file e cambia quando il file viene copiato.
Ciò che un report può mostrare proviene dalle intestazioni e descrive l'immagine, non la sua storia:
- Larghezza, altezza e profondità di bit, e se le righe scorrono dal basso verso l'alto o dall'alto verso il basso.
- Il metodo di compressione, che normalmente è nessuno.
- La risoluzione orizzontale e verticale, memorizzata come pixel per metro anziché nei più familiari punti per pollice.
- Quanti colori contiene la tavolozza e quanti di essi l'immagine considera importanti.
C'è una nota a piè di pagina reale per la privacy. Le intestazioni estese possono allegare un profilo colore ICC e permettono di collegarlo invece di incorporarlo, memorizzandolo come un percorso di file sulla macchina che ha salvato l'immagine. Un percorso di questo tipo può rivelare un nome utente o la struttura delle cartelle di qualcuno. È poco comune, ma se un report mostra un profilo collegato, quello è un vero dettaglio sul computer di una persona all'interno di un file altrimenti silenzioso.
Quando usare il BMP
BMP ha senso quando la semplicità conta più della dimensione: fornire un'immagine a un programma o dispositivo con un decoder minimale, lavorare all'interno di software Windows che se lo aspetta o passare un'immagine tra due fasi di un processo in cui comprimerla di nuovo sarebbe uno spreco di lavoro. Essendo lossless, è anche sicuro risalvarlo ripetutamente senza degradare l'immagine.
Per qualsiasi cosa si debba archiviare, inviare o pubblicare, PNG è la scelta migliore. È anch'esso lossless, quindi i pixel tornano identici, ma il suo filtraggio e la sua compressione di solito riducono il file a una frazione della dimensione, e può contenere un titolo, un autore e un profilo colore. Per le fotografie, JPG o WebP saranno ancora più piccoli. Scegli BMP in modo consapevole, per un motivo tecnico, non come impostazione predefinita.