Trasparenza (grafica)
# Trasparenza (grafica)

Il termine trasparenza è utilizzato nella computer grafica per indicare quell'effetto che permette di vedere un oggetto come sovrapposto o moltiplicato a un piano "trasparente". Nel caso per esempio di un'icona, essa apparirebbe come se fosse totalmente distinta da uno sfondo, ad esempio il desktop (senza quindi uno strato opaco che visivamente si frappone fra il disegno e il desktop). Ovviamente, solo una parte di una grafica dovrebbe essere "trasparente", o non ci sarebbe niente da vedere. Un effetto più complesso è la "trasparenza parziale" o "traslucenza" dove la grafica ottenuta è parzialmente trasparente allo stesso modo di un vetro colorato.

## Pixel trasparenti

Uno specifico colore in una singola tavolozza di una immagine GIF o PNG, può essere definito come "trasparente" o come colore effettivo. Questo significa che quando il decodificatore incontra un pixel con questo valore, il pixel viene renderizzato come colore di sfondo nella zona dello schermo dove si trova l'immagine, anche se questo varia pixel-per-pixel come nel caso di un'immagine di sfondo.

Fra le applicazioni abbiamo:

* un'immagine che si non desideri essere rettangolare, può essere riempita con un colore che venga poi definito come trasparente, in modo che il disegno (una volta esportato) sia distinto dallo sfondo; l'immagine può anche avere buchi (per esempio, se è a forma di anello)
* in una riga di testo, un simbolo speciale per cui viene utilizzata un'immagine perché non è disponibile nel set di caratteri, può avere uno sfondo trasparente, con conseguenza un background del "carattere" trasparente

Il colore trasparente andrebbe scelto con cura, per evitare la scomparsa di elementi che mostrano appena lo stesso colore.

Sebbene questa forma di trasparenza abbia un'implementazione frammentaria, i browser web più diffusi sono in grado di visualizzare GIF trasparenti. Questo supporto spesso non si estende alla stampa, specialmente a dispositivi di stampa (ad esempio PostScript) che non includono supporto per la trasparenza nel dispositivo o driver. Al di fuori del mondo di browser web, l'utilizzo di questa tecnica è abbastanza imprevedibile per i file GIF trasparenti.

### Limitazioni negli spigoli dei pixel trasparenti

Gli spigoli dei caratteri o di altre immagini con uno sfondo trasparente non dovrebbero avere sfumature di grigio: queste sono normalmente usate per intermediare i toni fra il colore della lettera/immagine e quello dello sfondo, tipicamente le sfumature di grigio sarebbero l'intermezzo fra una lettera nera e uno sfondo bianco. Comunque, per esempio, per uno sfondo rosso i colori di intermezzo sarebbero dei rossi scuri. I pixel estremali grigi restituirebbero dunque un risultato brutto e poco chiaro. Per un colore di sfondo variabile non ci sono colori di intermezzo adatti.

## Alpha compositing

Spesso vorremmo solo sovrascrivere parzialmente i contenuti di un pixel. Un esempio comune di questo avviene nel compositing, che è pertanto il processo di combinazione di un colore parzialmente trasparente con il proprio sfondo. I file PNG e TIFF permettono la trasparenza parziale, che risolve il problema dei pixel estremali. Tuttavia, il supporto è ancora più frammentario. Le versioni precedenti a Internet Explorer 7 non supportano la trasparenza parziale in una grafica PNG. Sono veramente poche le applicazioni che elaborano correttamente i file TIFF con canali alpha.

Per i pixel opachi del primo piano, sostituiamo semplicemente il pixel dello sfondo; per quelli totalmente trasparenti, non lo modifichiamo. Per i pixel parzialmente trasparenti, occorre prestare attenzione. I pixel parzialmente trasparenti possono presentarsi quando l'oggetto nel primo piano ha regioni parzialmente trasparenti, come il vetro. Ma il caso più frequente dove il primo piano e lo sfondo vanno mescolati è quando l'oggetto del primo piano copre solo in parte il pixel, o per lo spigolo dell'oggetto in primo piano, o quando ci sono buchi di sub-pixel come per esempio fra le foglie di un albero distante.

Il più importante segmento di informazione necessario per mescolare un oggetto in primo piano con un oggetto nello sfondo, è il pixel coverage, che ci dice la frazione del pixel coperto dal livello di primo piano. Possiamo chiamare questa frazione con $\alpha$. Se vogliamo comporre il colore di primo piano $c_{f}$ con un colore di sfondo $c_{b}$, e la frazione del pixel coperto dallo sfondo è $\alpha$, allora possiamo utilizzare la formula:

$c=\alpha c_{f}+(1-\alpha )c_{b}$

Per un livello di primo piano opaco, l'interpretazione è che l'oggetto in primo piano copre l'area $\alpha$ entro il rettangolo del pixel e che l'oggetto nello sfondo copre la restante area, che è $(1-\alpha )$. Per un livello trasparente (se si pensa a un'immagine dipinta su un vetro), l'interpretazione è che il livello di primo piano blocca la frazione $(1-\alpha )$ della luce che lo attraversa dallo sfondo e contribuisce una frazione $\alpha$ del proprio colore nella sostituzione di ciò che è rimosso. Il valore $\alpha$ per tutti i pixel in un'immagine può essere salvato in un'immagine separata in scala di grigi, che è quindi conosciuta come alpha mask o transparency mask. O l'informazione può essere salvata come un quarto canale in una immagine RGB, che in questo caso è detto alpha channel, e l'immagine dunque è chiamata immagine RGBA.

## La trasparenza nei PDF

A partire dalla versione 1.4 dello standard PDF (Adobe Acrobat 5), viene supportata la trasparenza (includendo la traslucenza). La trasparenza nei file PDF consente di ottenere vari effetti, fra cui l'aggiunta di ombre agli oggetti, la resa di oggetti semi-trasparenti e la visualizzazione di oggetti mescolati l'un l'altro o sotto forma di testo. Il PDF supporta molte modalità di mescolamento, non solo il più comune metodo della media, e le regole per comporre molti oggetti sovrapposti permette varie scelte.

