Windows bitmap: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ft1 (discussione | contributi)
Ft1 (discussione | contributi)
m altri wikilink
Riga 2:
compressione = Windows bitmap (BMP) / Device-independent bitmap (DIB) |
sviluppatore = [[Microsoft]] |
tipo = nessuna compressione / [[Run-length encoding|RLE]] |
lossy = lossless |
licenza = libero da brevetti |
Riga 139:
| uno dei seguenti valori:
; 0 (<span style="font-family:monospace">BI_RGB</span>) : La mappa dei [[pixel]] non è compressa.
; 1 (<span style="font-family:monospace">BI_RLE8</span>) : La mappa dei [[pixel]] è compressa con l'[[algoritmo]] [[Run-length encoding|RLE]] per 8 [[Bit (informatica)|bit]] per pixel. Valido solo per biBitCount&nbsp;=&nbsp;8 e biHeight&nbsp;>&nbsp;0.
; 2 (<span style="font-family:monospace">BI_RLE4</span>) : La mappa dei [[pixel]] è compressa con l'[[algoritmo]] [[Run-length encoding|RLE]] per 4 [[Bit (informatica)|bit]] per pixel. Valido solo per biBitCount&nbsp;=&nbsp;4 e biHeight&nbsp;>&nbsp;0.
; 3 (<span style="font-family:monospace">BI_BITFIELDS</span>) : La mappa dei [[pixel]] non è compressa ed è codificata secondo maschere di colore personalizzate. Valido solo per biBitCount&nbsp;=&nbsp;16 o 32; poco comune.
Nella versione 5 del formato sono ammessi inoltre i seguenti valori:
Riga 337:
|}
|}
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 [[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 alpha]], la cui diffusione è legata soprattutto all'avvento del formato PNG.
Riga 359:
 
=== Windows API ===
L'[[API di Windows]] offre sin dalle prime versioni [[Funzione (informatica)|funzioni]] speciali che permettono di effettuare le più semplici operazioni sulle bitmap, come copiare o combinare parti di un'immagine in memoria. Le bitmap sono oggetti GDI così come i ''[[font]]'' (tipi di carattere), i ''brush'' (pennelli) e le ''[[Tavolozza (informatica)|palette]]'' (tavolozze); così come gli altri oggetti di Windows le bitmap vengono manipolate attraverso un'''handle'', cioè un valore che identifica l'oggetto nell'[[Ambiente (informatica)|ambiente]] di [[Esecuzione (informatica)|esecuzione]]. Dopo essere state create chiamando le apposite funzioni, le bitmap vengono selezionate in un ''device context'', un'entità astratta che serve a comunicare con una [[periferica]] o dispositivo virtuale. In questo modo si possono inviare informazioni ad [[Display|monitor]] o ad una [[stampante]]. Selezionando una bitmap in un ''device context'' in [[Memoria (informatica)|memoria]] è possibile inoltre chiamare le apposite funzioni GDI per effettuare le più comuni modifiche all'immagine. Per operazioni grafiche più complesse si può accedere direttamante alla mappa dei [[pixel]].
 
I [[Linguaggio di programmazione ad alto livello|linguaggi di programmazione ad alto livello]] utilizzano in parte le funzioni API per implementare tecniche di [[programmazione]] grafica con le bitmap.