ImageMagick

Varios trucos y soluciones para gestionar ficheros gráficos desde consola o scripts con ImageMagick:

  • Añadir texto a una foto:
    convert foto_original.jpg -fill white -box '#80808080' -gravity SouthEast -pointsize 20 -annotate +5+5 "TEXTO" foto_destino.jpg
    -fill white indica del color del texto, en este caso blanco. -box '#80808050' crea un cuadro bajo el texto de color #808080 (gris) al 50% de transparencia. -gravity SouthEast donde posicionar el texo, SouthEast = esquina inferior derecha. -pointsize 20 tamaño de la letra -annotate +5+5 separa el texto de la esquina 5 pixels tanto en x como en y para que el texto no esté en la propia esquina. "TEXT" el texto a escribir, si contiene espacio ponerlo entre comillas.
  • Reducir el tamaño de una foto proporcionalmente:
    convert -sample 28% foto_original.jpg foto_destino.jpg
    sample indica el porcentaje a lo que deja la imagen resultante, en este caso al 28% del tamaño original, por ejemplo si el tamaño original es 3648x2736 se quedaría en 1021x766 que es el 28% de la original.
  • Combinar varias imágenes en una (por ejemplo poner marcas de agua):
    composite -dissolve 15 -tile marca_de_agua.png foto_original.jpg foto_destino.jpg
    dissolve indica el nivel de transparencia, cuanto más bajo más transparente. marca_de_agua.png es la imagen con la marca de agua, debe ser con fondo transparente.
  • Cambiar el tamaño de una imagen:
    convert -sample geometría foto_original.jpg foto_destino.jpg
    geometría ver tabla más abajo
  • Crear un gif animado
    convert -delay 20 -loop 0 -verbose fotogramas*.gif animacion.gif
    delay especifica el tiempo que veremos cada fotograma, en milisegundos. loop indica las veces que se repetirá la animación. Si le asignamos el valor 0, la animación es un bucle que se repite sin cesar. NOTA: convert coloca las imágenes en la animación por orden alfabético, así que debemos nombrar adecuadamente los archivos para que los coloque como queremos.
  • Convertir un PDF a JPG
    for file in *.pdf;
    do
        convert -verbose -colorspace RGB -resize 800 -interlace none -density 300 -quality 80 $file ${file%pdf}jpg
    done

Geometría Descripción
scale% Height and width both scaled by specified percentage.
scale-x%xscale-y% Height and width individually scaled by specified percentages. (Only one % symbol needed.)
width Width given, height automagically selected to preserve aspect ratio.
xheight Height given, width automagically selected to preserve aspect ratio.
widthxheight Maximum values of height and width given, aspect ratio preserved.
widthxheight^ Minimum values of width and height given, aspect ratio preserved.
widthxheight! Width and height emphatically given, original aspect ratio ignored.
widthxheight> Change as per widthxheight but only if an image dimension exceeds a specified dimension.
widthxheight< Change dimensions only if both image dimensions exceed specified dimensions.
area@ Resize image to have specified area in pixels. Aspect ratio is preserved.

Retro

Lugares

Redes

Sistemas

Varios