informatica:linux:imagemagick
This is an old revision of the document!
Table of Contents
Imagemagick
imagemagick
Es una herramienta potentísima que nos permite, por ejemplo, combinar dos imágenes en una:
1. Instalarlo
aptitude update && aptitude install imagemagick
Componer un .pdf a partir de un texto y dos imágenes
1. Crear el siguiente guión:
nano /tmp/convertir.sh
Con el siguiente contenido:
#!/bin/bash
Salida="salida.pdf"
Img1="cabecera.png"
Img2="texto.gif"
Img3="pie.jpg"
Texto="
Frase muy larga que no va caber en una linea. No hay que preocuparse, imagemagick la cortará.
Frase 2
Frase 3
etc...
"
#Texto_formateado=${Texto// /\ }
# NOTA: no sé por qué 1 unidad = 1.39 píxeles
# Esto es un DINA4 (826x1169px)
Alto="841.01"
Ancho="594.24"
###############
# Creo la imagen a partir de un texto
#convert -background white -fill black -pointsize 20 -size 520x caption:'123456789012345678901234567890123456789012345678901234567890' $Img2
Cadena1="\'"$Texto"\'"
convert -background white -fill black -pointsize 20 -size 520x caption:"$Texto" $Img2
Cadena2=$Ancho"x"$Alto
convert -size $Cadena2 xc:white $Salida
composite -geometry +10+10 $Img1 $Salida $Salida
composite -geometry +10+160 $Img2 $Salida $Salida
composite -geometry +10+600 $Img3 $Salida $Salida
2. Grabar y salir
3. Darle permisos de ejecución:
chmod +x /tmp/convertir.sh
4. Dejar en /tmp los siguientes archivos:
| Ruta completa del archivo | Ancho recomendado (píxeles) | Alto recomendado (píxeles) |
|---|---|---|
| /tmp/cabecera.png | 70 | 560 |
| /tmp/pie.jpg | 70 | 560 |
5. Ejecutar el guión (no requiere ser root):
./tmp/convertir.sh
¿Qué hace? Compone un .pdf DINA4 con, de arriba abjo:
- El membrete
- El contenido del texto
- El pie
En el ejemplo usamos hasta 4 formatos distintos (.pdf .png .gif y .jpg) para mostrar solo una pequeña parte del potencial de esta herramienta.
Reducir porcentualmente el tamaño
#!/bin/bash
Dir_origen="/tmp/dir_con_fotos"
Dir_destino=$Dir_origen"/peq"
Extension="jpg"
Porcentaje="16%"
mkdir $Dir_destino
for Ruta_archivo in "$Dir_origen"/*.$Extension
do
Archivo=${Ruta_archivo##*/}
convert $Ruta_archivo -resize $Porcentaje $Dir_destino"/"$Archivo
done
Juntar 2 .pdf apaisados en 1 DINA4 n-s
#!/bin/bash Salida="salida.pdf" Img1="n.pdf" Img3="s.pdf" # NOTA: no sé por qué 1 unidad = 1.39 píxeles # Esto es un DINA4 (826x1169px) Alto="841.01" Ancho="594.24" ############### Cadena2=$Ancho"x"$Alto convert -size $Cadena2 xc:white $Salida # Reduzco tamanyo convert $Img1 -resize 70% "peq_"$Img1 convert $Img3 -resize 70% "peq_"$Img3 composite -geometry +0+10 "peq_"$Img1 $Salida $Salida composite -geometry +0+450 "peq_"$Img3 $Salida $Salida
Reducir tamaño lienzo (canvas)
Recortar una imagen a 300×300 cortando la parte de abajo:
# convert entrada.png -resize 300x300^ -gravity North -extent 300x300 salida.png
Gravity:
- Center
- East
- North
- NorthEast
- Northwest
- South
- SouthEast
- SouthWest
- West
Girar imágen
Gira la imagen 40 grados
# convert inicio.png -rotate 40 final.png
informatica/linux/imagemagick.1301323120.txt.gz · Last modified: (external edit)
