Redimensionar las imágenes de un directorio
Este script redimensiona las imágenes de un directorio dado a la resolución indicada. Si no puede hacerse una conversión perfecta conservando las proporciones, ajusta la imagen al tamaño que más se ajusta al tamaño dado. Es necesario tener instalado el paquete imagemagick para poder utilizar el script.
El script recibe un único parámetro que es el directorio que contiene las imágenes. A partir de ahí actúa según las variables definidas al principio del script:
- PATRON: El tipo de imágenes, separadas por espacios, que se van a convertir.
- RES: La nueva resolución que se aplicará a las imágenes.
- DIR: El nombre del directorio donde se crearán las imagenes redimensionadas. Este directorio se creara dentro del que contiene las imágenes.
Script:
#!/bin/bash
# Configuración de los parametros de conversion
PATRON='*.jpg *.png'
RES='96x96'
DIR='miniaturas'
# Comprobamos los parámetros
if [ $# -ne 1 ]; then
echo "Uso: $0 <directorio de imágenes>"
exit 1
fi
# Accedemos al directorio con las imágenes
cd $1 || exit 1
# Creamos el directorio donde guardaremos las imágenes convertidas
mkdir $DIR || exit 1
echo -e "nTipo de imágenes: $PATRON"
echo -e "Nueva resolución: $RES"
echo -e "Directorio de destino: `pwd`/$DIRn"
# Una a una convertimos las imágenes del directorio
for imagen in ${PATRON}; do
if [ -f "${imagen}" ]; then
echo -ne "t· $imagen -> "
convert -size $RES -resize $RES $imagen $DIR/$imagen 2>/dev/null
if [ $? -eq 0 ]; then
echo "OK"
else
echo "ERROR"
fi
fi
done
Elaborado por Nacx para ADSLAyuda.com