Respostas:
Por favor, tente usar o ImageMagick . Primeiro, instale-o:
$ sudo apt-get install imagemagick
Depois, você pode criar um pequeno script bash para convertê-los em seus 6 tamanhos:
#!/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
Salve o script como, por exemplo convert.sh
, e execute:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
Editar: editei o script para ter certeza de não substituir os arquivos ao redimensionar, mas renomeie-os para, por exemplo, DSC01258_640x480.JPG, e use convert em vez de, mogrify
pois os arquivos são realmente renomeados. Eu também desinfetei um pouco as variáveis, não dói.
Testei o script com arquivos png e funcionou bem. Deve funcionar para todos os tipos de formatos de imagem suportados pelo 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
Se você instalar o ImageMagick, como Sathya mencionou, existe um ótimo front-end da GUI para facilitar o redimensionamento nautilus-image-converter
.
Para instalá-lo:
sudo apt-get install nautilus-image-converter
Reinicie o nautilus (ou efetue logout e logon novamente). Ele adicionará "Redimensionar imagens" e "Girar imagens" ao seu menu de contexto, como mostrado aqui:
Simplesmente destaque todas as imagens que deseja redimensionar, clique com o botão direito do mouse, selecione Redimensionar imagens e você obterá esta interface:
Use a opção "Anexar" e adicione um nome personalizado às suas imagens redimensionadas. Você pode anexar o tamanho de 1024x768 OU pode fazer 6 cópias de suas imagens em pastas diferentes e usar a opção redimensionar imagens no local nas imagens de cada pasta para substituí-las por novas imagens com dimensões diferentes. Redimensionar imagens no local sempre substituirá as imagens selecionadas, portanto, tenha cuidado com o que você selecionar!
Você pode usar o ImageMagick: Primeiro instale o ImageMagick
sudo apt-get install imagemagick
Em seguida, cd para o local onde suas imagens estão lá:
cd /path/to/where/images/are/stored
Em seguida, crie diretórios de acordo com o seu tamanho de imagem
mkdir /path/to/where/images/are/stored/size
Copie as imagens para o diretório em que deseja transformar
cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size
Em seguida, altere o diretório para o outro diretório
cp /path/to/where/images/are/stored/size
Em seguida, use uma ferramenta chamada mogrify
fornecida pela biblioteca ImageMagick para redimensionar
mogrify -resize 640×480! *.jpg
Isso redimensionará tudo para 640*480
, !
indica para forçar a proporção.
Eu não sei scripts Bash, então não é tão automatizado.
Realmente deve haver várias referências a mogrify
ferramentas no convert
manual do. ... Procurei por cerca de quarenta e cinco minutos, mas foi só quando me deparei com outro post que pude começar a olhar na direção certa.
Para o benefício de outros, essa linha fez exatamente o que eu precisava. Foram necessários cerca de cinquenta JPGs de 2 a 3 meg (no mesmo diretório) e diminuíram todos para 80 a 120 kb. E, é claro, deixou todos os nomes 'exatamente' iguais.
mogrify *.jpg -quality 75 -resize "640x480>" *
E, novamente, para o benefício de outros:
*.jpg
... executa o comando mogrify em todos os JPGs no diretório.
-quality 75
... reduz a qualidade do jpg em 75%, o que é suficiente para visualização on-line.
-resize "640x480>"
... faz com que todas as imagens sejam redimensionadas para 640x480 (observe o ">" no final. Isso torna as imagens menores, mas 'não' maiores. ... e não esqueça as aspas; essas são importantes.
*
... e não se esqueça disso no final do comando.
Gimp vem com o modo batch. consulte Modo de lote do GIMP .
Eu criei uma ferramenta simples de usar: Picture Resize . Ele usa o imagemagick nos bastidores. Quando instalado, ele criará um ícone na área de trabalho do linux. Você pode arrastar e soltar uma ou várias imagens, ou uma pasta de imagens, e isso criará uma cópia redimensionada de cada imagem. O tamanho desejado pode ser facilmente alterado clicando com o botão direito do mouse no ícone da área de trabalho.
Se você está procurando uma GUI em vez de uma ferramenta de linha de comando, dê uma olhada no BIR: https://github.com/agronick/BIR