Ferramenta de redimensionamento de imagem para Ubuntu

Respostas:

14

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, mogrifypois 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
ℝaphink
fonte
10

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:

texto alternativo

Simplesmente destaque todas as imagens que deseja redimensionar, clique com o botão direito do mouse, selecione Redimensionar imagens e você obterá esta interface:

texto alternativo

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!

John T
fonte
6

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

Sathyajith Bhat
fonte
2

Realmente deve haver várias referências a mogrifyferramentas no convertmanual 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.

tg3793
fonte
1

Eu recomendaria phatch. Sua GUI é muito mais flexível do que o imagemagick e o nautilus têm para oferecer e também possui uma interface de linha de comando, se você precisar escrever um script. Você pode instalá-lo com

sudo apt-get install phatch
Kim
fonte
1

Gimp vem com o modo batch. consulte Modo de lote do GIMP .

Lakshman
fonte
0

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.

Tabish
fonte
0

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

insira a descrição da imagem aqui

Victor Lamoine
fonte