jueves, 29 de abril de 2010

Imagemagick: editor de imágenes desde la consola

Imagemagick es un paquete con herramientas para la edición de imágenes directamente desde la consola y como bien sabemos todo lo que se pueda hacer por consola sirve mucho más cuando lo hacemos de forma remota :D.
Como bien dice su lema, imagemagick sirve para "convertir, editar y componer imágenes". Se puede revisar la lista de herramientas con una breve descripción del uso de cada una en este enlace "Imagemagick - command line tools".


Por lo general las que más utilizo son: display, identify y convert (o mogrify). Otra herramienta útil es "montage", pero nunca he trabajado con ella :P.
Este paquete de utilidades para trabajar con imágenes es más práctico y útil de lo que puede parecer a primera vista,  por ejemplo: se puede crear un script para trabajar un conjunto de imágenes de forma automática y no tener que hacerlas una por una, también crear alguna página en php para trabajar con imágenes, etc. De hecho, por lo general las cosas que he visto en web casi siempre trabajan utilizando imagemagick o lo tienen como opción :)
Ahora a lo que iba... una descripción rápida de las que utilizo:

  • display
Ésta realmente no es para usar con la consola ya que sirve para visualizar una imagen :P, más bien es cuando se tiene acceso a las X en vivo y en directo o por ssh con la opción de replicación de X como lo vimos en la publicación anterior ;).
Más info y opciones: Documentación display
  • identify
Con esto podemos tener información sobre alguna imagen, tal como el formato (algunas veces las extensiones están mal puestas), las dimensiones y el peso. También es posible obtener mucha más información agregando la opción "-verbose".
Más info y opciones: Documentación Identify
  • convert o mogrify
La única diferencia entre ellas es que con mogrify se trabaja directamente sobre la imagen, en cambio con convert se crea una copia. Dependiendo del caso es la que se usa, por ahora me centraré en "convert" :P. Estas herramientas son las que más sirven en la parte de edición de imágenes en sí.
Una lista con ejemplos rápidos de uso:

(*) Redimensionar una imagen, achicándola a un 80% del original
convert imagen.jpg -resize 80% imagen2.jpg 
Para redimensionar sin crear otro archivo sería: mogrify -resize 80% imagen.jpg
 

(*) Redimensionar muchas imágenes
mogrify -resize 80% *.jpg

(*) Redimensionar de forma no proporcional
convert -resize 650x480 imagen_original.jpg imagen_final.jpg

(*) Cambiar calidad de una imagen
convert -quality 85 imagen_original.jpg imagen_final.jpg

(*) Agregar texto a la imagen (esto sí que es práctico para marcar)
convert -font verdana -fill yellow -pointsize 16 -draw "text 10,15 'www.miweb.com'" imagen_original.jpg imagen_texto.jpg

Donde:
-font [nombre de la fuente] es la fuente (tipo de letra) que se usará.
-fill [color] es el color con el que se escribirá dicha fuente, por defecto creo que es el negro (no me acuerdo xD).
-pointsize [numero] es el tamaño de la letra
-draw "[text posicion,posicion] 'texto'". Acá hay que dejar claro que el parámetro va encerrado completo entre comillas dobles (") y el texto a escribir va dentro de esas comillas y encerrada entre comillas simples ('). Creo que hay otras formas de hacerlo, pero ahí sería cosa de probar los parámetros, si alguien ya lo probó de otra manera me avisan :P

(*) Rotar una imagen
convert -rotate 90 imagen.jpg imagen_rotada.jpg o convert -rotate -90 imagen.jpg imagen_rotada2.jpg

Más info y opciones: Documentación Convert

Y para finalizar acá dejo ejemplos --> Imagemagick - ejemplos

Referencia:
Imagemagick 

No hay comentarios:

-