Tornando transparentes os fundos de arquivos GIF animados

13

Criei arquivos GIF animados usando o GIMP a partir de vários quadros no formato PNG que criei usando o Jmol e agora gostaria de saber como tornar transparente o plano de fundo dos arquivos GIF resultantes. Quaisquer softwares ou sites que você sugerir devem estar disponíveis gratuitamente, por favor.

BH2017
fonte
Você já fez alguns esforços? Veja aqui e ali .
Paolo Gibellini
Já fiz isso antes, mas é inadequado ver como esse GIF é animado, não estático, pois esses métodos são úteis apenas para imagens estáticas. Para fazer o que você está sugerindo, mostrando-me essas duas perguntas, eu teria que tornar cada um dos arquivos PNG convertidos em GIF transparentes individualmente e ver como uso 60 quadros por GIF que levariam algum tempo, especialmente vendo como na minha experiência, cada imagem leva pelo menos 5 minutos para ser executada, já que a cor alfa é menos que perfeita e requer alguns ajustes para funcionar.
212014 BH 11/07
1
Eu não conheço Jmol, mas aqui está um tópico relacionado ao background alfa (veja também aqui ). Você exportou como PNGT os quadros?
Paolo Gibellini
O GIMP já pode criar GIFs com transparência.
Billy Kerr

Respostas:

16

Você pode fazer isso com o GIFsicle , usando as seguintes opções:

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

onde anim.gife anim_trans.gifsão os nomes dos arquivos de origem e de destino e #ffffffé o código hexadecimal da cor que você deseja tornar transparente (aqui, branco puro).

(As opções importantes aqui são -U/ --unoptimizee --disposal=previous, que juntas convertem a animação no "modo flipbook", onde cada quadro é totalmente apagado antes de desenhar o próximo. Isso permite que mais transparência seja adicionada aos quadros sem permitir que os quadros anteriores apareçam no A -O2opção não é estritamente necessária, mas é provável que diminua o tamanho do arquivo da animação resultante, otimizando os quadros para evitar redesenhar desnecessariamente partes estáticas da animação.)

Para uma demonstração, aqui está uma animação da enzima glioxalase I humana (GLO1) do Wikimedia Commons (à esquerda) e a mesma animação com transparência adicionada usando o método mostrado acima (à direita):

Animação original com fundo branco Animação modificada com fundo transparente
Animação original do usuário do Wikimedia Commons WillowW , usada sob a licença CC-By 3.0 .

Um detalhe digno de nota é que, se o comando GIFsicle não parece ter nenhum efeito, verifique se a cor do plano de fundo está realmente correta. Por exemplo, para a animação mostrado acima, a cor do fundo real acabou por ser #fdfffc(ou seja, muito ligeiramente amarelo-esverdeado branco) em vez de #ffffff(branco puro). Você não pode realmente dizer a diferença a olho nu (ou, pelo menos, não posso fazer isso nesta tela), mas é suficiente para fazer o GIFsicle considerar as duas cores diferentes.

Observe também que os arquivos GIF suportam apenas transparência de 1 bit, o que significa que as bordas das regiões transparentes não terão suavização de borda. Tudo bem, desde que o plano de fundo em que você está mostrando a animação não esteja muito longe da cor original do plano de fundo, mas, se estiver, você pode achar que haverá uma cor feia nas bordas da animação. Infelizmente, não há muito o que fazer sobre isso, exceto para escolher um plano de fundo mais adequado ou para renderizar novamente a animação.

Ilmari Karonen
fonte
Você tem uma alternativa de software amigável ao Windows 7 ao gifsicle que eu poderia usar? Eu tentei instalar o binário Win32 e 64 (estou usando o Windows 7 de 64 bits, a partir do link no site oficial do gifsicle) e nenhum deles funcionou. Apenas apareceu um prompt de comando por um segundo e, em seguida, esse prompt foi fechado. Desde então, abri o prompt de comando (como eu entendo o gifsicle é um editor baseado em linha de comando) e colei seus comandos (com os nomes dos arquivos reais, ofc) e deu um arquivo nulo com um aviso dizendo que o gifsicle não era reconhecido no meu sistema.
BH2017
Hmm ... você já tentou usar o prompt de comando e especificar o caminho completo para o gifsicle.exe? Ou cd- na pasta em que você instalou o gifsicle e executando o comando a partir daí? Ou adicionando essa pasta ao seu%PATH% ?
Ilmari Karonen
cd- no diretório, executando esse comando funcionou perfeitamente sem problemas, portanto, aceitarei sua resposta.
BH2017
1

Tente http://www.gifmagic.com

Isso é muito fácil.

Escolha: 1) editar

2) transparência

3) adicione e

4) selecione a área que deseja aplicar.

Dchris
fonte
1

Da mesma forma que o GIFsicle e o GIFmagic, o EzGIF é um conjunto on-line de ferramentas GIF que (entre outras coisas) permitem que você faça isso:

  1. Escolha "Efeitos"
  2. faça o upload do GIF
  3. use a caixa "Substituir cor pela transparência"
  4. e aplicar

(Você também pode otimizar o resultado, se quiser)

danicotra
fonte
0

Se você possui o imagemagick, pode executar o comando convert input.gif -transparent white output.gifem um terminal.

user1964638
fonte
Você pode explicar o que esse comando faz? Estamos à procura de respostas mais longas com uma explicação, não com apenas uma linha. Além disso, parece que ele converte a cor branca em transparente, então também selecionará tudo o que é branco na imagem?
Luciano
0

Você pode fazer isso diretamente do photoshop.

Use a opção 'Salvar na Web' e salve como GIF com transparência. Encontre a cor que você deseja que seja transparente na Tabela de cores. Clique nele e depois clique no botão que circulei em vermelho.

Transparência da tabela de cores

Isso tornará transparente a cor que você selecionou. Salve .

fanfarra
fonte