Herramienta de cambio de tamaño de imagen para Ubuntu

Respuestas:

14

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, mogrifyya 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
Phaphink
fuente
10

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í:

texto alternativo

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:

texto alternativo

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!

John T
fuente
6

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 mogrifyproporcionada 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.

Sathyajith Bhat
fuente
2

Realmente debería haber varias referencias a la mogrifyherramienta en el convertmanual 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.

tg3793
fuente
1

Yo recomendaría phatch. Su GUI es mucho más flexible que lo que ofrecen imagemagick y nautilus y también tiene una interfaz de línea de comandos, si necesita escribir un script. Puedes instalarlo con

sudo apt-get install phatch
Kim
fuente
0

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.

Tabish
fuente