Come posso rimuovere i pixel bianchi attorno ai bordi durante l'esportazione di una GIF trasparente?


11

Ho preso i caricatori da xooplate.com e li ho esportati con l'aiuto dell'azione inclusa in una GIF. Ma ho alcuni pixel bianchi attorno al caricatore che sono davvero fastidiosi se visualizzati su uno sfondo scuro. Puoi vederlo qui, in una cornice che ho estratto dalla gif:

inserisci qui la descrizione dell'immagine

Come posso evitare quei pixel bianchi e mantenere lo sfondo trasparente?


Potresti voler menzionare quale software stai usando. Posso presumere Photoshop, ma non fa mai male etichettare correttamente la tua domanda e menzionare il software che stai utilizzando.
Scott

è Photoshop. Sono interessato a rimuovere quei pixel bianchi, non la trasparenza (KMSTR)
Ryan

1
kontur ha ragione sul motivo della rugosità (cioè sullo stato binario on / off della trasparenza). A seconda del contesto, si potrebbe imbrogliare un po 'creando un'immagine leggermente più grande, quasi identica, salvata come PNG con trasparenza alfa e posizionandola come immagine di sfondo statica con la gif animata di colore basso centrata su di essa. In questo modo puoi assicurarti che il colore opaco (come descritto nella risposta di Kontur) possa essere conosciuto con un più alto grado di certezza.
horatio

Risposte:


19

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 & devicesselezionare 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.

inserisci qui la descrizione dell'immagine

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.

inserisci qui la descrizione dell'immagine


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.


5

Nella finestra di dialogo Salva per Web, assicurati di impostare il colore opaco a destra della finestra sul colore dello sfondo della tua pagina web.

Le GIF non supportano la piena trasparenza a 8 bit, supportano solo la trasparenza a 1 bit. Il meglio che puoi fare è usare un colore che corrisponda allo sfondo della pagina web in modo che l'immagine si fonda facilmente con quel colore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.