Skip to content

Instantly share code, notes, and snippets.

@felix-orduz
Forked from fitorec/reduceImgs.sh
Last active September 23, 2015 21:28
Show Gist options
  • Select an option

  • Save felix-orduz/619170 to your computer and use it in GitHub Desktop.

Select an option

Save felix-orduz/619170 to your computer and use it in GitHub Desktop.
Se modifica el script con el fin de conservar al dirección original de la imagen para tal efecto se elimina el segundo valor del resize dejando solo 800x adicionalmente se cambia la calidad a 80
#!/usr/bin/env bash
#file: convImgs.sh
#author: fitorec http://fitorec.wordpress.com
#
#descripcion: Este script lo realize para reducir el tamaño de imgs la
#tecnica es redimencionar y bajar la calidad de 50% en el nivel de compresion
#la imagenes creadas quedaran en una carpeta que se llama mini
#
#Agumentos: recibe como unico argumento la extension de las images a convertir
#
#Requiere: imagemagick
#
#fork: axidsugar http://axidsugar.yukasoft.com el 11/10/2010
#modificado el for corrigiendo error que provocaba que el nombre de los archivos fuera * en
#vez del nombre de cada archivo
#revisando los argumentos necesarios
if [ $# -ne 1 ]; then
echo "ejecutar: ./$0 extension_imagenes"
exit 1
fi
#creamos el directorio que vamos a utilizar para almacenar las imgs
#if [ -d mini]; then
if [ !`test -d ./mini` ]; then
echo "creando la carpeta mini"
mkdir mini
fi
echo "redimencionamiento de imagenes"
#opcion 1, esta tecnica la aprendi de mi camarada @r00t_w33d
#find ./ -name "*.JPG" -exec convert {} -resize 800x600 -strip -quality 50 -interlace line ./mini/{} \;
#opcion 2 esta se me hace mas elegante ademas consume menos recursos al no utilizar el find
#se puede comprobar al correr el script con el comando time para ambas opciones
for img in *.$1
do
convert $img -resize 800x -strip -quality 80 -interlace line ./mini/$img
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment