Como redimensionar arquivos de imagem no Linux

Os arquivos de imagem podem ser excepcionalmente grandes. Mesmo se você estiver lidando com JPEGs, os tamanhos dos arquivos podem exceder 2 e até 5 MB de tamanho. Se você tiver um arquivo RAW, ele será maior. Se você precisar manter uma grande biblioteca de imagens em seu PC Linux, precisará aprender a economizar espaço. Uma das melhores maneiras de economizar espaço com arquivos é redimensioná-los. Se você tiver uma grande biblioteca de fotos, poderá redimensionar os arquivos de imagem e diminuir o tamanho da sua biblioteca de fotos.

Redimensionar arquivos de imagem é uma coisa complicada, pois muito pode realmente arruinar a qualidade. É por isso que neste guia veremos como redimensionar arquivos de imagem da maneira correta.

Instalar ImageMagick

O sistema operacional Linux tem muitas ferramentas peculiares e exclusivas. Uma dessas ferramentas é o Convert. É um pequeno aplicativo simples empacotado dentro do ImageMagick que pode manipular arquivos de imagem através da linha de comando. Para obter acesso à ferramenta Converter, você precisará instalar o ImageMagick. A maioria das distribuições Linux tem isso instalado, mas se a sua não tiver, você pode instalá-lo com bastante facilidade.

Para instalar o pacote ImageMagick, abra uma janela de terminal e digite o seguinte comando listado em seu sistema operacional.

  Como instalar o Museeks Music Player no Linux

Ubuntu

sudo apt install imagemagick

Debian

sudo apt-get install imagemagick

Arch Linux

sudo pacman -S imagemagick

Fedora

sudo dnf install imagemagick

OpenSUSE

sudo zypper install imagemagick

Outros Linux

Como dito anteriormente, o ImageMagick é um componente crítico de como muitos programas exibem e manipulam imagens em programas no Linux. Dito isto, sua distribuição pode estar usando uma alternativa. Procure no gerenciador de pacotes do seu sistema operacional por “ImageMagick” e instale-o. Uma vez instalado, você terá acesso ao Convert.

Comprimir Imagens com Converter

A compactação de imagens geralmente pode reduzir sua qualidade. Para arquivos de imagem menores e de boa aparência, é melhor redimensioná-los. Seguir esse caminho pode ajudar a manter a qualidade geral da imagem, mantendo o tamanho do arquivo muito menor.

Para redimensionar com o Convert, abra uma janela de terminal, encontre um arquivo de imagem que você gostaria de manipular e use o comando CD para mover o terminal para seu local. Neste exemplo, os arquivos de imagem estarão em /home/username/pictures/.

cd ~/Pictures/

Use o comando converter para redimensionar. Tente redimensionar a imagem em cerca de 20%, pois isso oferece um bom equilíbrio entre qualidade e tamanho do arquivo. Se você precisar ir abaixo de 20%, tente 25%, 30% ou 40%. Tenha em mente que a qualidade da imagem diminui quanto mais ela é redimensionada.

convert -resize 20% image-file-name-original.jpg image-file-name-resized.jpg

O Convert funciona com diferentes tipos de arquivos, além do JPG usado no exemplo. Para redimensionar, modifique este comando com a extensão de arquivo correta e o novo tamanho. Certifique-se de especificar o nome do arquivo original e um nome de arquivo de saída.

  Como visualizar o espaço livre em disco e o uso do disco no terminal Linux

Compactar várias imagens

O Convert é excelente para manipular e compactar uma imagem por vez, mas é tedioso compactar imagens uma a uma. a boa notícia é que o Convert pode ser manipulado com o bash para analisar e trabalhar com vários arquivos de imagem de uma só vez.

Nota: arquivos de imagem compactados em lote com vários nomes de arquivo provavelmente não funcionarão. Apenas arquivos de conversão em lote com o mesmo tipo de arquivo.

A conversão em lote é fácil e começa com a criação de uma pasta para trabalhar. Ter uma pasta para todos esses arquivos de imagem que você planeja converter é bom, caso contrário, dezenas de arquivos de imagem sujarão seu sistema de arquivos. Usando o comando mkdir, crie um diretório de trabalho.

mkdir -p ~/Pictures/Convert-Images/

Em seguida, abra o aplicativo gerenciador de arquivos, encontre a pasta recém-criada e mova todos os arquivos de imagem que você planeja converter para essa pasta. Depois de mover os arquivos, use o comando CD em um terminal para mover para a nova pasta também.

cd ~/Pictures/Convert-Images/

No terminal, digite este comando. Ele dirá ao Convert para redimensionar vários arquivos de uma só vez, criando arquivos de saída com “redimensionar” no final. No código, o comando procurará imagens JPG. Se você estiver trabalhando com arquivos PNG ou outro formato compatível com o aplicativo Convert, altere *.jpg para *.png etc.

for img in *.jpg; do
  convert -resize 20% "$img" "opt-$img"
done

Script de redimensionamento

O comando de redimensionamento em lote é bom, pois funciona muito bem. No entanto, ter que digitar um comando longo e ajustá-lo toda vez pode ser irritante. Para encurtar o trabalho, considere transformá-lo em um script. Abra uma janela de terminal e use o comando touch para criar um novo arquivo. Este arquivo conterá o código para nosso script de conversão.

  Como criar e instalar chaves SSH a partir do shell do Linux

touch ~/Pictures/Convert-Images/batch-resize.sh

Em seguida, abra o editor de texto Nano.

nano ~/Pictures/Convert-Images/batch-resize.sh

Cole o seguinte código dentro do arquivo de script:

#!/bin/bash

# Captura a entrada do usuário para o tipo de arquivo.

echo “Digite a extensão do arquivo para seus arquivos de imagem:”

# Armazena a entrada do usuário em $files.

ler arquivos

# Redimensionar imagens.

para img em arquivos *.$; Faz
converter -redimensionar 20% “$img” “redimensionar-$img”
feito

Salve o script de redimensionamento no Nano pressionando Ctrl + O. Feche o editor com Ctrl + X.

Atualize as permissões do script para que ele seja executado. Não pule esta parte, ou o script não funcionará corretamente!

chmod +x ~/Pictures/Convert-Images/batch-resize.sh

Para usar o script, coloque todos os arquivos de imagem que deseja converter em ~/Pictures/Convert-Images/. Em seguida, CD e execute o script. Ao inserir a extensão do arquivo (como JPG, PNG e etc) não use um ponto, ou o script irá quebrar!

cd ~/Pictures/Convert-Images/
./batch-resize.sh