Windows bitmap: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Corretto il collegamento Raster con Grafica raster (DisamAssist) |
|||
(38 versioni intermedie di 27 utenti non mostrate) | |||
Riga 1:
{{NN|informatica|aprile 2023}}
{{Formato file
|
|
|
|
|
|
|
|mime = image/bmp
|uniform_type_identifier = com.microsoft.bmp
| sviluppatore = [[Microsoft]]▼
|
|
|licenza = Microsoft Open Specification Promise
| ultima_versione = ▼
|data_rilascio =
| data_ultima_versione = ▼
|genere = [[Grafica raster]]
|compressione = lossless
|
|
|standard =
| sito = www.microsoft.com▼
|aperto = sì
}}
'''Windows bitmap''' è un formato dati utilizzato per la rappresentazione di [[immagine raster|immagini raster]] sui [[Sistema operativo|sistemi operativi]] [[Microsoft Windows
Le '''bitmap''', come sono comunemente chiamati i [[file]] d'immagine di questo tipo, hanno generalmente l'[[Estensione (file)|estensione]] '''.bmp''', o meno frequentemente '''.dib''' ('''device-independent bitmap''').
Line 38 ⟶ 41:
=== Versioni 4 e 5 ===
Con [[Windows 95]] e [[Windows 98]] Microsoft ha introdotto le nuove versioni 4 e 5 del formato bitmap, che supportano il [[canale alfa (informatica)|canale alfa]] e la definizione di [[Spazio dei colori|spazi di colori]] personalizzati. La versione 5 prevede inoltre la possibilità di utilizzare un profilo di colore in un [[file]] esterno e d'incorporare immagini [[Joint Photographic Experts Group|JPEG]] e [[Portable Network Graphics|PNG]]. Questi nuovi formati si trovano tuttavia assai raramente come file indipendenti e molte [[applicazione (informatica)|applicazioni]] non sono in grado di riconoscerli; il loro uso principale è quello di formato interno per i [[Programma (informatica)|programmi]] di [[Microsoft Windows|Windows]] o di videogiochi<ref>
== Struttura ==
<div class="thumb tright">
<div class="thumbcaption">
{| border="2" bgcolor="F8F8F8" cellpadding="4" cellspacing="0" style="margin: 1em; border: 1px #aaa solid; border-collapse: collapse;"
| align="left" | '''Header del file'''<br />(<span style="font-family:monospace">BITMAPFILEHEADER</span>)
Line 61 ⟶ 63:
| align="left" | eventualmente: spazio inutilizzato
|}
Struttura di una bitmap
</div>
Line 83 ⟶ 84:
Con <math>u\left(x\right)</math> si è indicata la [[funzione gradino di Heaviside]], il cui valore è 0 per argomenti negativi e 1 per quelli positivi. <math>\lceil x\rceil</math> indica la funzione soffitto, equivalente al [[numero intero]] più piccolo maggiore o uguale all'argomento.
La stessa [[Espressione
<pre>
54 + 4 * (((1 << b) & 0xffff) + h * ((w * b + 31) / 32))
Line 100 ⟶ 101:
| style="font-family:monospace" | [[Word]]
| bfType
| la [[Stringa (informatica)|stringa]] [[ASCII]] <span style="font-family:monospace">"BM"</span> (valore decimale
|-
| 2
| style="font-family:monospace" | [[Dword]]
| bfSize
| dimensione del file (''non affidabile
|-
| 6
Line 317 ⟶ 318:
== Vantaggi e svantaggi ==
Una delle caratteristiche essenziali del formato bitmap che ne hanno fatto per molto tempo la fortuna è la velocità con cui le immagini vengono lette o scritte su disco,
{| border="1" cellpadding="3" cellspacing="0" style="float: left; margin: 0 1em 0 0"
Line 358 ⟶ 359:
|}
|}
Esiste anche, ma non è molto usata, la possibilità di comprimere le bitmap da 16 e 256 colori con l'[[algoritmo]] [[Run-length encoding|RLE]]. La [[Compressione dei dati|compressione]] RLE non è tuttavia efficiente come altri metodi di [[Compressione dati lossless|compressione lossless]]. Le bitmap, anche quelle compresse, occupano di regola più spazio su disco rispetto ad altri formati [[Grafica raster|raster]] come [[Graphics Interchange Format|GIF]] o [[Portable Network Graphics|PNG]], e sono perciò meno adatte di questi alla trasmissione di immagini via [[Internet]] o alla memorizzazione permanente su [[Compact disc|CD]], [[DVD]] o altri supporti di dati.
Una limitazione grave del formato bitmap, almeno nella comune versione 3, è quella di non supportare alcun tipo di trasparenza. Per ovviare a questo problema sono stati messi a punto diversi stratagemmi, come utilizzare un colore speciale per i pixel trasparenti, oppure servirsi di altre bitmap per mascherare le parti invisibili di un'immagine (alcune di queste tecniche sono rintracciabili nella stessa [[Windows API|API di Windows]]), ma nessuno offre la stessa versatilità del [[canale alfa (informatica)|canale alfa]], la cui diffusione è legata soprattutto all'avvento del formato PNG.
== Usi pratici ==
Line 385 ⟶ 386:
=== .NET ===
Il [[Framework .NET|.NET Framework]] offre supporto nativo per diversi tipi d'immagini raster, e naturalmente anche per le bitmap tramite la [[Classe (informatica)|classe]] <
=== Java ===
A differenza del .NET Framework che è stato sviluppato dalla [[Microsoft]] soprattutto per Windows, [[Java (linguaggio di programmazione)|Java]] si propone di essere un sistema [[multipiattaforma]], per assicurare che lo stesso [[Programma (informatica)|programma]] funzioni allo stesso modo su tutte le piattaforme dei diversi produttori. Non sorprende perciò che non ci sia in Java, come c'è in .NET, una classe specifica per manipolare il formato Windows bitmap. Esistono però e sono reperibili in [[Internet]] alcune [[Libreria software|librerie]] e moduli di programmazione aggiuntivi che implementano queste funzionalità.
=== C / C++ ===
Tra le librerie [[C (linguaggio)|C]] [[C++]] degne di nota per la manipolazione di immagini, possiamo trovare
=== Delphi ===
Sin dalla prima edizione di [[Delphi]], è presente nella VCL (Visual Component Library) l'oggetto TBitmap, che permette di manipolare files bitmap. Esistono poi progetti esterni a Delphi, che ampliano le potenzialità e le funzionalità dell'oggetto TBitmap, tra questi ricordiamo
=== Python ===
Anche tramite il linguaggio [[Python]] è possibile manipolare immagini: tra le librerie disponibili, troviamo
<
from CoreGraphics import *
import math
Line 436 ⟶ 437:
c.writeToFile ("out.png", kCGImageFormatPNG)
</syntaxhighlight>
==Note==
Line 442 ⟶ 443:
== Bibliografia ==
* {{cita libro|autore=James D. Murray|autore2=William vanRyper|titolo=Encyclopedia of Graphics File Formats|edizione=2|capitolo=Microsoft Windows Bitmap|pagine=572-591|editore=O'Reilly|anno=1996|lingua=en|ISBN=1-56592-161-5|url=https://www.fileformat.info/format/bmp/egff.htm|accesso=24 aprile 2023}}
* {{cita libro|cognome=Miano|nome=John|titolo=Compressed image file formats: JPEG, PNG, GIF, XBM, BMP|url=https://archive.org/details/compressedimagef0000mian|città=Reading|editore=Addison Wesley|anno=1999|lingua=en|ISBN=0-201-60443-4}}
== Voci correlate ==
*[[
== Altri progetti ==
Riga 453:
== Collegamenti esterni ==
* {{FOLDOC|bmp}}
* {{cita web|url=
* {{cita web|url=
* {{cita web|url=http://www.softzone.it/tutorials/showquestion.php?faq=1&fldAuto=24|titolo=Bitmaps, Device Contexts e BitBlt|sito=Softzone|urlmorto=sì|urlarchivio=https://web.archive.org/web/20060506052951/http://www.softzone.it/tutorials/showquestion.php?faq=1&fldAuto=24|dataarchivio=6 maggio 2006}}
* {{cita web|url=http://wvnvaxa.wvnet.edu/vmswww/bmp.html|titolo=Example BMP images|lingua=en|accesso=15 gennaio 2006|urlarchivio=https://web.archive.org/web/20060625100540/http://wvnvaxa.wvnet.edu/vmswww/bmp.html|dataarchivio=25 giugno 2006|urlmorto=sì}}
{{Formati di compressione}}▼
▲* {{cita web|url=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_99ir.asp|titolo=Pagina della MSDN Library sulle bitmap|lingua=en}}
▲* {{cita web|url=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_4v1h.asp|titolo=Struttura delle bitmap|lingua=en}}
{{Portale|informatica}}
▲{{Formati di compressione}}
[[Categoria:Formati di file grafici]]
|