====== 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 ====== Cambiar tamaño lienzo (canvas) ====== Corta una imagen desde los pixeles que quieras. # convert imagen.png -crop 1982x1401+1982+0 crop.png Otra forma que a veces cambia tamaño imagen (por investigar) Recortar una imagen a 300x300 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 Para ampliar el lienzo, tenemos una imagen de 1600x1150 y queremos hacerla de 1600x1200 para poder hacer un vídeo. Añadimos por abajo un trozo azul para que se vea convert jur.jpg -resize 1600x1200 -background Blue -gravity North -extent 1600x1200 jur2.jpg {{:informatica:linux:canvas.jpg|}} ====== Girar imágen ====== Gira la imagen 40 grados # convert inicio.png -rotate 40 final.png ====== Varios ====== * Mitad superior de la imagen convert in.pnm -crop 100%x+50%+0+0 out.pnm * Mitad inferior convert in.pnm -crop 100%x100%+0+2350 out.pnm