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) ]

Dejar un comentario









Fuentes XML de comentario: RSS | Atom

Menú

Novedades

Comentarios Recientes

Imagen Aleatoria

Posts Recientes

Búsqueda

Buscar en 

Amigos

Avially
Zilus
Tags Services
FeCal
Clio Club