Hacer transparentes los fondos de los archivos GIF animados

13

He estado creando archivos GIF animados usando GIMP a partir de varios cuadros en formato PNG que creé usando Jmol y ahora me gustaría saber cómo hacer que el fondo de los archivos GIF resultantes sea transparente. Cualquier software o sitio web que sugiera debe estar disponible de forma gratuita, por favor.

BH2017
fuente
¿Has hecho algunos esfuerzos? Mira aquí y allá .
Paolo Gibellini
Lo he hecho antes, pero eso no es adecuado al ver cómo se anima este GIF, no estático, ya que esos métodos solo son útiles para imágenes estáticas. Para hacer lo que está sugiriendo mostrándome estas dos preguntas, tendría que hacer que cada uno de los archivos PNG que convierto en GIF sea transparente individualmente y ver cómo uso 60 cuadros por GIF que tomaría algún tiempo, especialmente viendo cómo En mi experiencia, cada imagen tarda al menos 5 minutos en realizarse, ya que el color alfa es menos que perfecto y requiere algunos ajustes para funcionar.
BH2017
1
No sé Jmol, pero aquí hay un tema relacionado con el fondo alfa (ver también aquí ). ¿Has exportado como PNGT los marcos?
Paolo Gibellini
GIMP ya puede crear GIF con transparencia.
Billy Kerr

Respuestas:

16

Puede hacer esto con GIFsicle , utilizando las siguientes opciones:

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

donde anim.gify anim_trans.gifson los nombres de los archivos de origen y destino, y #ffffffes el código hexadecimal del color que desea hacer transparente (aquí, blanco puro).

(Las opciones importantes aquí son -U/ --unoptimizey --disposal=previous, que juntas convierten la animación en "modo flipbook", donde cada cuadro se borra por completo antes de dibujar el siguiente. Esto permite agregar transparencia adicional a los cuadros sin permitir que los cuadros anteriores se muestren a través del partes transparentes. La -O2opción no es estrictamente necesaria, pero es probable que reduzca el tamaño del archivo de la animación resultante al optimizar los cuadros para evitar volver a dibujar innecesariamente partes estáticas de la animación).

Para una demostración, aquí hay una animación de la enzima glicoxalasa I humana (GLO1) de Wikimedia Commons (izquierda), y la misma animación con transparencia agregada usando el método que se muestra arriba (derecha):

Animación original con fondo blanco. Animación modificada con fondo transparente.
Animación original del usuario de Wikimedia Commons WillowW , utilizada bajo la licencia CC-By 3.0 .

Un detalle que vale la pena señalar es que, si el comando GIFsicle no parece tener ningún efecto, debe verificar que el color de fondo sea realmente correcto. Por ejemplo, para la animación se muestra arriba, el color de fondo real resultó ser #fdfffc(es decir, muy ligeramente amarillo-verdoso blanco) en lugar de #ffffff(blanco puro). En realidad, no puede distinguir la diferencia a simple vista (o, al menos, no puedo hacer eso en esta pantalla), pero es suficiente para hacer que GIFsicle considere los dos colores diferentes.

También tenga en cuenta que los archivos GIF solo admiten una transparencia de 1 bit, lo que significa que los bordes de las regiones transparentes no se suavizarán. Esto está bien siempre que el fondo en el que se muestra la animación no esté demasiado alejado del color de fondo original, pero si lo es, es posible que haya un color feo que se borde alrededor de los bordes de la animación. Desafortunadamente, no hay mucho que pueda hacer al respecto, excepto elegir un fondo más adecuado o volver a renderizar la animación.

Ilmari Karonen
fuente
¿Tiene una alternativa de software compatible con Windows 7 a los gifsicle que podría usar en su lugar? Intenté instalar el binario Win32 y 64 (estoy usando Windows 7 de 64 bits, desde el enlace en el sitio web oficial de gifsicle) y ninguno de los dos funcionó. Simplemente apareció un símbolo del sistema, durante un segundo y luego este indicador se cerró. Desde entonces, abrí el símbolo del sistema (ya que entiendo que gifsicle es un editor basado en la línea de comandos) y pegué sus comandos (con los nombres de archivo reales, ofc) y le dio un archivo nulo con una advertencia que decía que gifsicle no fue reconocido en mi sistema
BH2017
Hmm ... ¿has intentado usar el símbolo del sistema y especificar la ruta completa al gifsicle.exe? ¿O cdir a la carpeta en la que instaló gifsicle y ejecutar el comando desde allí? ¿O agregar esa carpeta en tu%PATH% ?
Ilmari Karonen
cd-ing al directorio, ejecutar ese comando funcionó perfectamente sin problemas, por lo tanto, aceptaré su respuesta.
BH2017
1

Prueba http://www.gifmagic.com

Es muy fácil.

Elija: 1) editar

2) transparencia

3) agregar y

4) seleccione el área que desea aplicar.

Dchris
fuente
1

De manera similar a GIFsicle y GIFmagic, EzGIF es un conjunto en línea de herramientas GIF que (entre otras cosas) le permiten hacer eso:

  1. Elija "Efectos"
  2. sube el GIF
  3. luego use el cuadro "Reemplazar color con transparencia"
  4. y aplicar

(También puede optimizar el resultado si lo desea)

danicotra
fuente
0

Si tienes imagemagick puedes ejecutar el comando convert input.gif -transparent white output.gifen una terminal.

usuario1964638
fuente
¿Puedes explicar qué hace ese comando? Estamos buscando respuestas más largas con una explicación, no frases ingeniosas. Además, parece que convierte el color blanco en transparente, así que ¿seleccionará también todo lo que es blanco en la imagen?
Luciano
0

Puedes hacerlo directamente desde Photoshop.

Use la opción 'Guardar en la Web' y guarde como un GIF con transparencia. Encuentre el color que desea que sea transparente en la Tabla de colores. Haga clic en él y luego haga clic en el botón que he marcado en rojo.

Transparencia de la tabla de colores

Esto hará que el color que haya seleccionado sea transparente. Salvar.

trompeteo
fuente