2012-09-14 21 views
5

Sigo el paso en Resize GIF animation, pil/imagemagick, python para cambiar el tamaño de la imagen usando PIL y image2gif. Sin embargo, tengo el gif redimensionada lavado, como a continuación:Gif de redimensionamiento de Python con PIL

enter image description here

¿Cómo puedo solucionar este problema?

+0

Una de las cosas mencionadas por la persona que contestó la pregunta se hace referencia es que él/ella no pudo encontrar una manera de preservar la transparencia. Creo que ese es probablemente el problema, dado que es principalmente el fondo el que tiene este problema "lavado". Esto llevaría a una falta de transparencia entre los fotogramas, y un fondo roto, como se muestra. – Collin

+0

Una pregunta similar en http://stackoverflow.com/questions/9128811/how-do-you-scale-an-animated-gif-image-in-pil-and-preserve-the-animation?rq=1 – hllau

+2

Algunos Una persona increíble hizo una versión actualizada de images2gif.py que hace un buen trabajo al solucionar el problema de la transparencia (aunque todavía hay algunos artefactos): https://bitbucket.org/bench/images2gif.py/overview – Coconut

Respuesta

0

No he probado esto, pero this sugiere que la manera de mantener la transparencia en imágenes GIF con PIL cuando el ahorro es:

im = Image.open(...) 
transparency = im.info["transparency"] 
... 
out.save("out.gif", transparency=transparency) 
+0

Gracias, pero no parece funcionar, ya que el método '.save' no se usa en absoluto. 'images2gif.writeGif()' no expone el parámetro de transparencia. En http://stackoverflow.com/questions/9988517/resize-gif-animation-pil-imagemagick-python?rq=1, estamos utilizando el módulo 'images2gif' para generar la secuencia de GIF. Ha envuelto la conversión de imágenes de PIL. No es fácil de entender – hllau

+0

Lamento escucharlo. Desafortunadamente, también tengo una experiencia limitada con PIL, así que esperemos que alguien envíe una opción alternativa. – Collin