Manipular imagenes con comandos


Para hacer manipulaciones de imágenes no hace falta ejecutar un programa de edición de imagenes cargar la imagen y procesarla (demasiado trabajo), basta con ImageMagick, que es una aplicación que permite manipular imágenes desde la terminal. Con esta aplicación puedes convertir entre formatos, redimensionar, ver propiedades...

Aquí os dejo unos cuantos comandos a modo de ejemplos, pero hay muchísimos mas...

Propiedades:
  • Obtener información de una imagen
  • $ identify -ping imagen.png
  • Más información
  • $ identify -verbose imagen.png
  • Lista de colores usados
  • $ identify -list color imagen.png

Convertir un archivo:
  • Convertir una imagen PNG en JPG
  • $ convert imagen.png imagen.jpg
  • Convertir una imagen PNG en JPG indicando la calidad
  • $ convert -quality 85 imagen.png imagen.jpg
  • Cambiar el tamaño de una imagen
  • $ convert -resize 32×32 imagen.png thumbnail.png
  • Cambiar el tamaño de una imagen indicando el ancho
  • $ convert -resize 640x imagen.png imagen-640.png
  • Cambiar el tamaño de una imagen indicando el alto
  • $ convert -resize x480 imagen.png imagen-480.png
  • Crear un icono
  • $ convert -colors 256 -resize 16×16 imagen.jpg icono.ico
  • Añadir un borde negro de 4 pixels alrededor de una imagen
  • $ convert -bordercolor #000000 -border 4×4 imagen.png imagen-con-borde.png
  • Rotar una imagen en vertical
  • $convert -flip imagen.png imagen-rotarVert.png
  • Girar una imagen de izquierda a derecha
  • $ convert -flop imagen.png imagen-girar.png

Convertir las imagenes de una carpeta:
  • Convertir todas las imagenes PNG en JPG
  • $ mogrify -format png *.jpg
  • Cmabiar el tamaño de todas la imagenes de una carpeta
  • $ mogrify -resize 32×32 *.png

Una de las grandes ventajas es que puedes hacer un script y luego añadirlo a los scripts de Nautilus para ejecutarlos de forma rápida. Aquí os dejo el código que utilizo para convertir imagenes a jpeg.
#!/bin/bash
while [ $# -gt 0 ]; do
picture=$1
jpg_file=`echo "$picture" | sed 's/\.\w*$/.jpg/'`
/usr/bin/convert -quality 85 "$picture" jpeg:"$jpg_file"
shift
done

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.