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

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que estás de acuerdo, pero puedes optar por no seguir si lo deseas. Aceptar Leer más