Ocupo la utilidad convert de ImageMagick practicamente para todo lo que tiene que ver con conversión de imágenes de un formato a otro, cambio de tamaño, resolución, etc.

Resulta que para reducir en tamaño algunos GIFs y obtener un buen resultado hay que usar algunas opciones no muy comunes.

Comenzando por el final, el comando correcto para hacerlo de un golpe es:

$ convert animacionGrande.gif -coalesce -geometry WxH animacionPeque.gif

Así obtendriamos un gif animado de máximo W pixeles de ancho y H pixeles de largo (lo que ocurra primero).

Ahora veamos las opciones que producen errores y el comando correcto pero usando ejemplos ...

Queremos obtener una imagen con máximo 30 pixeles de altura (sin importar el ancho),

Nuestra figura base es bu.gif

Intento 1 (sin opcion -coalesce)

$ convert bu.gif -resize x30 bux30.gif

Nótese que no puse nada antes de la x lo cual significa "sin límite de ancho (Width)"

El resultado es el siguiente:

Pareciera que se redujeron la primera y la última imagen de la secuencia pero no así las demás.

Intento 2 (opcion -coalesce en orden incorrecto)

$ convert bu.gif -resize x30 -coalesce bux30.gif

Mismo resultado

Intento 3

$ convert bu.gif -coalesce -resize x30 bux30.gif

Ahora si

La opción -coalesce lo que hace es "unir" una secuencia de imagenes. Según la página de ayuda de convert

–coalesce

merge a sequence of images.

Each image N in the sequence after Image 0 is replaced with the image created by flattening images 0 through N.

La solución la encontré en Resizing animated GIFs with ImageMagick.

Ahí primero le aplica la opción -coalesce al gif original y después lo reduce de tamaño pero como ya vimos, también puede hacerse en un paso.

Enlace adicional:

Examples of ImageMagick Usage [] (en inglés)

Quetzalcoatl | Software libre | 8 Octubre, 12:22pm
Jose, <> / 10 Febrero, 7:06am  
avatar

Hola, estoy usando imagemagick para convertir secuencias de imagenes. Pero me da problemas: por ejemplo tengo la secuencia: IMAGEN0001.TGA, IMAGEN0002.TGA, IMAGEN...TGA, IMAGEN0083.TGA. y la secuencia que genera imagemagick sería: IMAGEN-1.PNG, IMAGEN-10.PNG, IMAGEN-11.PNG.... IMAGEN-2.PNG, por lo que rompe la secuencia inicial de imágenes. ¿COmo soluciono esto? Desde ya, muchas gracias

[ Responder (0) ]
burberry replica handbag, <> / 24 Febrero, 10:17pm  
avatar

It is good to have the ability to read a good quality blog with useful data on topics that a lot are interested on. The point that the data indicated are all first hand on actual experiences even help more. Continue doing what you do as we love reading your work.

[ Responder (0) ]

Dejar un comentario









Fuentes XML de comentario: RSS | Atom

Menú

Novedades

Comentarios Recientes

Imagen Aleatoria

Posts Recientes

Búsqueda

Buscar en 

Amigos

Cuauhtémoc
Zilus
Tags Services
Fairy Rocker
FeCal