Il modo in cui la trasparenza funziona con gif / png a 8 bit è che un pixel è completamente trasparente o completamente opaco .
Sugli angoli di un cerchio in cui il cerchio si fonde in modo trasparente con lo sfondo, di solito ci sono pixel semitrasparenti per rendere più uniforme la transizione. Questa transizione graduale non può essere riprodotta completamente con gif / png a 8 bit.
Un modo per simulare ciò è selezionare un mascherino di sfondo per tutti quei pixel semitrasparenti. Ciò significa che quei pixel che non sono completamente trasparenti ottengono il loro colore calcolato come se fossero in cima al colore opaco.
I pixel bianchi nella tua cerchia gif accadono così, perché sono stati fatti per essere usati su sfondo bianco. I pixel semitrasparenti del cerchio originale sono stati rasterizzati contro il colore bianco opaco, risultando in pixel quasi bianchi ma completamente opachi intorno agli angoli.
Il modo per rimediare a questo problema se hai il cerchio originale e completamente trasparente è save for web & devices
selezionare un colore opaco adatto allo sfondo. In questo modo, i pixel potenzialmente semi-trasparenti verranno uniti a pixel completamente opachi rispetto al colore opaco e, visualizzati sul tuo sito Web con un colore di sfondo simile, appariranno completamente lisci. Si noti che a) la grafica con piccole gamme di aree semitrasparenti (in pixel) funziona meglio e b) ciò richiede che lo sfondo su cui viene mostrata la gif sia una parte di ciò che in un colore coerente si sceglie per il tuo opaco.
In questa immagine:
- La parte superiore sinistra è la grafica rotonda originale con angoli anti-alias, ovvero levigati.
- Lo stesso risultato si ottiene con png-24, come si vede in alto a destra, ma questo non funziona per l'animazione.
- La vista in basso a sinistra mostra come i pixel semitrasparenti del grafico vengono trasposti sul colore rosso opaco selezionato. Nota anche come quei pixel, che sono completamente trasparenti, rimangano completamente trasparenti. Considerando che solo quei pixel che hanno un po 'di trasparenza vengono "sottoposti" al colore opaco, e i pixel completamente opachi rimangono completamente inalterati dalle impostazioni di trasparenza (tuttavia, sono influenzati dalle selezioni sul tipo di dithering e sui colori).
- L'angolo in basso a destra ricorda il tipo di opzioni di esportazione utilizzate per l'immagine di esempio. Con un mascherino bianco selezionato, gli stessi pixel che mostrano il rosso nell'immagine in basso a sinistra, mostreranno il bianco nell'immagine in basso a destra. Questo è perfettamente accettabile se lo mostri su sfondo bianco. Con altri sfondi più scuri, i pixel bianchi vengono visualizzati perché utilizzano un colore opaco opaco per creare pixel completamente opachi per tutti i pixel non completamente trasparenti.
Vedi entrambe le gif esportate con il rosso e il bianco opaco in questa immagine, su uno sfondo diverso. Questo mostra come il mascherino rosso si fonde piacevolmente con uno sfondo rosso, ma anche quanto inquietante il mascherino bianco si presenta su uno sfondo nero.
Se ti trovi in una situazione sfortunata, non hai il file originale con alfa anti-alias completi (ovvero hai solo gif a 8 bit), è problematico invertire questo raster opaco - pixel per pixel che devi rimuovere il colore opaco dai pixel semitrasparenti e quindi riesportarli con impostazioni più appropriate.