Rendere trasparenti gli sfondi dei file GIF animati


13

Ho creato file GIF animati usando GIMP da diversi frame in formato PNG che ho creato usando Jmol e ora vorrei sapere come rendere trasparente lo sfondo dei file GIF risultanti. Qualsiasi pezzo di software o sito web che suggerisci dovrebbe essere disponibile gratuitamente, per favore.


Hai fatto qualche sforzo? Vedi qua e .
Paolo Gibellini,

L'ho già fatto prima, ma non è appropriato vedere come questa GIF è animata, non statica poiché questi metodi sono utili solo per le immagini statiche. Per fare quello che mi stai suggerendo mostrandomi queste due domande dovrei rendere ognuno dei file PNG che converto in GIF individualmente trasparente e vedere come uso 60 fotogrammi per GIF che impiegherebbero qualche tempo, soprattutto vedendo come secondo la mia esperienza, ogni immagine richiede almeno 5 minuti, poiché l'alfa a colori è meno che perfetta e richiede un po 'di confusione per funzionare.
BH2017,

1
Non conosco Jmol, ma ecco un argomento relativo allo sfondo alfa (vedi anche qui ). Hai esportato come PNGT i frame?
Paolo Gibellini,

GIMP può già creare GIF con trasparenza.
Billy Kerr,

Risposte:


16

Puoi farlo con GIFsicle , usando le seguenti opzioni:

gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif

dove anim.gife anim_trans.gifsono i nomi dei file di origine e destinazione, ed #ffffffè il codice esadecimale del colore che si desidera rendere trasparente (qui, bianco puro).

(Le opzioni importanti qui sono -U/ --unoptimizee --disposal=previous, che insieme convertono l'animazione in "modalità flipbook", in cui ogni fotogramma viene completamente cancellato prima di disegnare quello successivo. Ciò consente di aggiungere ulteriore trasparenza ai fotogrammi senza lasciare che i fotogrammi precedenti vengano visualizzati attraverso parti trasparenti. L' -O2opzione non è strettamente necessaria, ma è probabile che riduca le dimensioni del file dell'animazione risultante ottimizzando i frame per evitare di ridisegnare inutilmente parti statiche dell'animazione.)

Per una dimostrazione, ecco un'animazione dell'enzima gliossalasi umana (GLO1) da Wikimedia Commons (a sinistra) e la stessa animazione con trasparenza aggiunta usando il metodo mostrato sopra (a destra):

Animazione originale con sfondo bianco Animazione modificata con sfondo trasparente
Animazione originale dell'utente WillowW di Wikimedia Commons , utilizzata con licenza CC-By 3.0 .

Un dettaglio degno di nota è che, se il comando GIFsicle non sembra avere alcun effetto, è necessario verificare che il colore di sfondo sia davvero corretto. Ad esempio, per l'animazione mostrato sopra, il colore di sfondo reale si è rivelata #fdfffc(cioè molto leggermente giallo-verdastro bianco) anziché #ffffff(bianco puro). In realtà non puoi dire la differenza a occhio (o, almeno, non posso farlo su questo schermo), ma è sufficiente per fare in modo che GIFsicle consideri i due colori diversi.

Si noti inoltre che i file GIF supportano solo la trasparenza a 1 bit, il che significa che i bordi delle aree trasparenti non saranno anti-alias. Questo va bene fino a quando lo sfondo su cui stai mostrando l'animazione non è troppo lontano dal colore di sfondo originale, ma se lo è, potresti scoprire che ci sarà un brutto colore sfrangiato attorno ai bordi dell'animazione. Sfortunatamente, non c'è molto che puoi fare al riguardo, tranne per scegliere uno sfondo più adatto o per eseguire nuovamente il rendering dell'animazione.


Hai un'alternativa software compatibile con Windows 7 a gifsicle che potrei usare invece? Ho provato a installare i binari Win32 e 64 (sto usando Windows 7 a 64 bit, dal link sul sito ufficiale di gifsicle) e nessuno dei due ha funzionato. È appena spuntato un prompt dei comandi, per un secondo e poi questo prompt è stato chiuso. Da allora ho aperto il prompt dei comandi (come ho capito gifsicle è un editor basato sulla riga di comando) e ho copiato e incollato i tuoi comandi in (con i nomi dei file effettivi, ofc) e ha dato un file null con un avviso dicendo che gifsicle non era riconosciuto sul mio sistema.
BH2017,

Hmm ... hai provato a usare il prompt dei comandi e specificare il percorso completo di gifsicle.exe? O cd-ing alla cartella in cui hai installato gifsicle ed eseguendo il comando da lì? O aggiungendo quella cartella nella tua%PATH% ?
Ilmari Karonen,

cd-ing alla directory, l'esecuzione di quel comando ha funzionato perfettamente senza intoppi, quindi accetterò la tua risposta.
BH2017,


1

Analogamente a GIFsicle e GIFmagic, EzGIF è un set online di strumenti GIF che (tra le altre cose) ti consente di farlo:

  1. Scegli "Effetti"
  2. carica la GIF
  3. quindi usa la casella "Sostituisci colore con trasparenza"
  4. e applicare

(Puoi anche ottimizzare il risultato se vuoi)


0

Se hai imagemagick puoi eseguire il comando convert input.gif -transparent white output.gifin un terminale.


Puoi spiegare cosa fa quel comando? Cerchiamo risposte più lunghe con una spiegazione, non una riga. Inoltre, sembra che converta il colore bianco in trasparente, quindi selezionerà anche tutto ciò che è bianco nell'immagine?
Luciano,

0

Puoi farlo direttamente da Photoshop.

Utilizzare l'opzione "Salva sul Web" e salvare come GIF con trasparenza. Trova il colore che vuoi essere trasparente nella tabella dei colori. Fare clic e quindi fare clic sul pulsante che ho cerchiato in rosso.

Trasparenza della tabella dei colori

Questo renderà trasparente qualsiasi colore tu abbia selezionato. Salva.

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.