Windows bitmap: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ValterVBot (discussione | contributi)
m Python: tag source deprecati, replaced: <source lang= → <syntaxhighlight lang=, </source> → </syntaxhighlight>
m Corretto il collegamento Raster con Grafica raster (DisamAssist)
 
(16 versioni intermedie di 11 utenti non mostrate)
Riga 1:
{{NN|informatica|aprile 2023}}
{{Formato file
| nome = Windows bitmap (BMP) / Device-independent bitmap (DIB)
| logo =
| icona =
| immagine =
| didascalia =
| estensione = .bmp, .dib
| mimemagic_number =
|mime = image/bmp
| typecode =
|uniform_type_identifier = com.microsoft.bmp
| sviluppatore = [[Microsoft]]
| proprietariotypecode =
| sviluppatore = [[Microsoft]]
| licenza = Libero da brevetti
| data_rilascioproprietario =
|licenza = Microsoft Open Specification Promise
| ultima_versione =
|data_rilascio =
| data_ultima_versione =
| ultima_versione =
| genere = [[immagine raster|immagini raster]] senza compressione / [[Run-length encoding|RLE]]
| data_ultima_versione =
| compressione = [[Compressione dati senza perdita|Non compresso]]
|genere = [[Grafica raster]]
| estensione_di =
|compressione = lossless
| esteso_a =
| standardestensione_di =
| apertoesteso_a =
|standard =
| sito = www.microsoft.com
|aperto = sì
| sito = www.microsoft.com
}}
'''Windows bitmap''' è un formato dati utilizzato per la rappresentazione di [[immagine raster|immagini raster]] sui [[Sistema operativo|sistemi operativi]] [[Microsoft Windows]]. Noto soprattutto come [[formato di file]], fu introdotto con [[Windows 3.x#Windows 3.0|Windows 3.0]] nel [[1990]].
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>[{{cita web|lingua=en|url=http://www.echos.ch/eod/help/texturen.htm |titolo=Creating Textures]|sito=Easy Object Designer}}</ref>.
 
== Struttura ==
<div class="thumb tright">
<div class="thumbcaption">
<div align="center">
{| 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
|}
</div>
Struttura di una bitmap
</div>
Line 105 ⟶ 106:
| 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, molto maggiore se paragonata a quella di altri tipi di [[file]], soprattutto sulle macchine più lente. Nelle bitmap non compresse la rappresentazione dei dati nella memoria [[RAM]] è in gran parte simile, spesso identica, a quella dei dati su disco: il [[Microprocessore|processore]] non è costretto ad effettuare calcoli laboriosi durante le operazioni di codifica e di decodifica e il tempo di accesso ai dati è spesso limitato solo dall'[[hardware]] del drive.
 
{| 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.
Line 391 ⟶ 392:
 
=== C / C++ ===
Tra le librerie [[C (linguaggio)|C]] [[C++]] degne di nota per la manipolazione di immagini, possiamo trovare [http://freeimage.sf.net FreeImage], libreria [[Open source]] multipiattaforma, che supporta un grosso numero di formati e funzioni.<ref>{{cita web|lingua=en|url=https://freeimage.sourceforge.io|titolo=The FreeImage Project}}</ref>
 
=== 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 [Graphics32<ref>{{cita web|lingua=en|url=http://graphics32.org/documentation/Docs/Units/GR32_Image/Classes/TImage32/_Body.htm|titolo=TImage32|sito=Graphics32|urlarchivio=https://web.archive.org/web/20110726130649/http://graphics32.org/documentation/Docs/Units/GR32_Image/Classes/TImage32/_Body.htm Graphics32]}}</ref>, [httpProject JEDI<ref>{{cita web|lingua=en|url=https://www.delphi-jedi.org/ |titolo=Project JEDI]}}</ref> e [GLScene<ref>{{cita web|lingua=en|url=http://glscene.sourceforge.net/wikka/HomePage|titolo=GLScene|urlarchivio=https://web.archive.org/web/20101110002948/http://glscene.sourceforge.net/wikka/HomePage GLScene]}}</ref>.
 
=== Python ===
Anche tramite il linguaggio [[Python]] è possibile manipolare immagini: tra le librerie disponibili, troviamo [PIL<ref>{{cita web|lingua=en|url=http://www.pythonware.com/products/pil/ |titolo=PIL]|urlarchivio=https://web.archive.org/web/20120415045020/http://www.pythonware.com/products/pil/|urlmorto=sì}}</ref> e [httpFreeImagePy<ref>{{cita web|lingua=en|url=https://freeimagepy.sfsourceforge.net |titolo=FreeImagePy]}}</ref>, basata su [http://freeimageFreeImage.sf.net FreeImage]
 
<syntaxhighlight lang="python">
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}}
*''Compressed Image File Formats'' - John Miano, Addison-Wesley Professional, 1999 - ISBN 0-201-60443-4
* {{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 ==
*[[ElencoLista di tipiformati di file]]
*[[STDU Viewer]]
 
== Altri progetti ==
Line 452 ⟶ 453:
 
== Collegamenti esterni ==
* {{FOLDOC|bmp}}
* {{cita web|url=https://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=https://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_4v1hbitmaps_99ir.asp|titolo=StrutturaPagina delledella MSDN Library sulle bitmap|lingua=en|urlmorto=sì}}
* {{cita web|url=https://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_99irbitmaps_4v1h.asp|titolo=PaginaStruttura della MSDN Library sulledelle bitmap|lingua=en|urlmorto=sì}}
* {{cita web|url=http://www.softzone.it/tutorials/showquestion.php?faq=1&fldAuto=24|titolo=Visualizzare le bitmap con l'API di Windows|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|1url=http://wvnvaxawww.wvnetsoftzone.eduit/vmswwwtutorials/bmpshowquestion.htmlphp?faq=1&fldAuto=24|2titolo=EsempiBitmaps, d'immaginiDevice BMPContexts ine vari formatiBitBlt|linguasito=enSoftzone|accessourlmorto=15 gennaio 2006|urlarchivio=https://web.archive.org/web/2006062510054020060506052951/http://wvnvaxawww.wvnetsoftzone.eduit/vmswwwtutorials/bmpshowquestion.html#php?faq=1&fldAuto=24|dataarchivio=256 giugnomaggio 2006|urlmorto=sì}}
* {{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}}
 
{{Estensioni}}
{{Portale|informatica}}