Respuestas:
Intenta usar ImageMagick . Primero, instálalo:
$ sudo apt-get install imagemagick
Luego puedes hacer un pequeño script bash para convertirlos a tus 6 tamaños:
#!/bin/bash
# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"
# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}
find $DIR -type f | while read file; do
for size in $SIZES; do
# Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
# Remove the ! after $size if you do not wish to force the format
convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
done
done
Guarde el script como, por ejemplo convert.sh
, y ejecute:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
Editar: edité la secuencia de comandos para asegurarme de no anular los archivos al cambiar el tamaño, pero cambiarles el nombre a, por ejemplo, DSC01258_640x480.JPG, y usar convertir en lugar de, mogrify
ya que los archivos cambian de nombre. También desinfecté un poco las variables, no duele.
Probé el script con archivos png y funcionó bien. Debería funcionar para todo tipo de formatos de imagen compatibles con ImageMagick:
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
$ ./resize.sh wave_bible_bot/
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
Si instala ImageMagick como mencionó Sathya, hay una buena interfaz gráfica de usuario para facilitar el cambio de tamaño nautilus-image-converter
.
Para instalarlo:
sudo apt-get install nautilus-image-converter
Reinicie nautilus (o cierre la sesión y vuelva a iniciarla). Agregará "Cambiar tamaño de imágenes" y "Rotar imágenes" a su menú contextual como se muestra aquí:
Simplemente resalte todas las imágenes que desea cambiar de tamaño, haga clic con el botón derecho, seleccione Cambiar tamaño de imágenes y obtendrá esta interfaz:
Use la opción "Agregar" y agregue un nombre personalizado a sus imágenes redimensionadas. Es posible que desee agregar un tamaño como 1024x768 O puede hacer 6 copias de sus imágenes en diferentes carpetas, luego use la opción para cambiar el tamaño de las imágenes en su lugar en cada carpeta para sobrescribirlas con nuevas imágenes que tengan diferentes dimensiones. Cambiar el tamaño de las imágenes en su lugar siempre sobrescribirá las imágenes seleccionadas, ¡así que tenga cuidado con lo que seleccione!
Puede usar ImageMagick: Primero instale ImageMagick
sudo apt-get install imagemagick
A continuación, cd a la ubicación donde están tus imágenes:
cd /path/to/where/images/are/stored
A continuación, cree directorios de acuerdo con su tamaño de imagen
mkdir /path/to/where/images/are/stored/size
Copie las imágenes en el directorio donde desea transformar
cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size
Luego, cambie el directorio al otro directorio
cp /path/to/where/images/are/stored/size
Luego, use una herramienta llamada mogrify
proporcionada por la biblioteca ImageMagick para cambiar el tamaño
mogrify -resize 640×480! *.jpg
Esto cambiará el tamaño a todo 640*480
, !
le dice a forzar la relación de aspecto.
No sé las secuencias de comandos Bash, por lo que no es tan automatizado.
Realmente debería haber varias referencias a la mogrify
herramienta en el convert
manual de. ... Busqué unos cuarenta y cinco minutos, pero no fue hasta que encontré otra publicación que pude comenzar a mirar en la dirección correcta.
Para beneficio de otros, esta línea hizo exactamente lo que necesitaba. Tomó alrededor de cincuenta JPG de 2meg a 3meg (en el mismo directorio) y los bajó a 80 a 120 kb. Y, por supuesto, dejó todos sus nombres "exactamente" iguales.
mogrify *.jpg -quality 75 -resize "640x480>" *
Y, nuevamente en beneficio de otros:
*.jpg
... realiza el comando mogrify en todos los JPG en el directorio.
-quality 75
... reduce la calidad jpg al 75%, que es suficiente para ver en línea.
-resize "640x480>"
... hace que todas las imágenes cambien de tamaño a 640x480 (observe el ">" al final. Eso hace que las imágenes sean más pequeñas pero 'no' más grandes ... ... y no olvide las comillas; son importantes.
*
... y no olvides esto al final del comando.
Gimp viene con modo por lotes. ver Modo de lote GIMP .
He creado una herramienta fácil de usar: Picture Resize . Utiliza imagemagick detrás de la escena. Cuando esté instalado, creará un ícono en su escritorio de Linux. Puede arrastrar y soltar una o varias imágenes, o una carpeta de imágenes, y creará una copia redimensionada de cada imagen. El tamaño que desea se puede cambiar fácilmente haciendo clic derecho en el icono del escritorio.
Si está buscando una GUI en lugar de una herramienta de línea de comandos, eche un vistazo a BIR: https://github.com/agronick/BIR