sexta-feira, 11 de agosto de 2017

Redimensionando sua fotos, em lote, no linux

Na dica de hoje explico como redimensionar suas fotos, lote, no linux, usando o imagemagick e o terminal. Isso facilita muito a vida de quem não tem tempo a perder, modificando cada imagem individualmente.

Usaremos o terminal para que a dica seja compatível com qualquer distro linux, independentemente de uma interface gráfica estar ou não disponível para você, já que o imagemagick é um aplicativo universal.

Para isso, obviamente, instale o imagemagick segundo o procedimento padrão para seu linux, o que não será visto aqui. Para saber se ele foi instalado por padrão, digite o comando abaixo no terminal:

$ whereis convert 
convert: /usr/bin/convert /usr/share/man/man1/convert.1.gz

A saída acima mostra que já está presente no seu isfenicídio. Agora é só partir para a conversão propriamente dita. No mesmo terminal, vá para a pasta com as imagens. Como exemplo, em /home/my_login/my_photos:

$ cd $HOME/my-photos 

Liste o conteúdo da mesma com o comando "ls":

$ ls 
DSCF1251.JPG
DSCF1255.PNG
DSCF1259.GIF
DSCF1263.SVG

Veja as possibilidades de redimensionamento (as principais):

a) para um tamanho determinado, mantendo a proporção
$ for file in *.JPG; do convert -resize 640x480 $file new-$file; done 

b) para um tamanho determinado, sem manter a proporção (pode haver distorção)
$ for file in *.PNG; do convert -resize 640x450! $file new-$file; done 

c) para um tamanho determinado, reduzindo qualidade da imagem
$ for file in *.GIF; do convert $file -quality 70 -resize 640x480 novo-$file; done 

d) para um tamanho aproximado, mantendo a proporção
$ for file in *.SVG; do convert -resize 640 $file new-$file; done 
ou
$ for file in *.SVG; do convert -resize x450 $file new-$file; done 

e) para um tamanho aproximado, com proporção aproximada
$ for file in *.JPG; do convert -resize 600x400 $file new-$file; done 

f) c) para um tamanho determinado, reduzindo qualidade da imagem
$ for file in *.JPG; do convert $file -quality 70 -resize 640 novo-$file; done 
ou
$ for file in *.PNG; do convert $file -quality 70 -resize x450 novo-$file; done 
ou
$ for file in *.GIF; do convert $file -quality 70 -resize 640x480! novo-$file; done 
ou
$ for file in *.SVG; do convert $file -quality 70 -resize 640x450 novo-$file; done 

As imagens convertidas terão o prefixo "new":

$ cd $HOME/my-photos 
$ ls 
DSCF1251.JPG   new-DSCF1251.JPG
DSCF1255.PNG  new-DSCF1255.PNG
DSCF1259.GIF   new-DSCF1259.GIF
DSCF1263.SVG  new-DSCF1263.SVG

Até a próxima dica!
;-))

Nenhum comentário:

Postar um comentário