Podría haber utilizado la extensión GD2 de PHP, pero no quería subir los archivos a ftp.
Pensé en utilizar la poderosa acción "batch process" de GIMP, pero no me permite añadir recursivamente desde un directorio todos los archivos contenidos en subdirectorios, por otro lado Photoshop y su procesamiento por lotes no me permite ser selectivo en el "aspect ratio".
Así que decidí crear un shellscript que utilizando el comando convert de Imagemagick realizara la tarea. Me puse manos a la obra y este fue el resultado:
Código:
Lo posteo aquí para quien pueda resultarle útil y por supuesto, aprovechando la generosidad de los foreros más avanzados si tienen alguna sugerencia para mejorar su funcionalidad o cualquier cosa que sea más facil o que se haga de manera más correcta también la compartan con nosotros.#!/bin/bash # Script creado por Arturo Peraza ([email protected]) # Este script esta licenciado bajo licencia GPL # Avisos al usuario echo "Este script generará un subdirectorio de respaldo llamado tmp" echo "Los archivos originales serán copiados en el y si todo sale bien seran eliminados" echo "Si desea conservar los archivos originales copielos en otra ubicación antes de continuar" # Pausa para que el usuario lea los avisos read -p "'Presione Intro para continuar'" # Mirar si existe el directorio tmp y si no crearlo if ls | grep tmp then echo "Creando respaldos..." else mkdir tmp echo "Creando respaldos..." fi # Copiar todos los archivos al directorio tmp y redimensionar los originales for i in `ls *.jpg` ; do cp $i tmp/$i convert $i -resize 350x350 $i done clear # Pausa para que el usuario revise que todo salio bien read -p “'Revise los archivos resultantes y presione Intro para continuar'” clear echo "Los siguientes archivos fueron redimensionados con exito:" # Mirar si los respaldos fueron creados y en su caso eliminarlos if ls tmp | grep jpg then rm -rf tmp exit else echo "No hay respaldos, Probablemente ocurio algun error" echo "Revise los archivos y permisos e intentelo de nuevo" fi
Cualquier crítica será bienvenida, solamente sean benévolos si cometí muchos errores de principiante
Saludos