Redimensionando Imagens com Scripting e o ImageMagik
Redimensionar automaticamente imagens para se adequar a sites estáticos
O tema Mainroad em Hugo não redimensiona imagens automaticamente, só copia do diretório estático. Então precisamos preparar um script para redimensionar e cortar as imagens para o tamanho adequado.
Quando
Tenho várias fontes de imagem – smartphone e câmera são as mais usadas. Elas têm diferentes resoluções e proporções.
Então precisamos de uma sequência de processamento:
- corte central para proporção de aspecto
- redimensionar (encolher) para duas resoluções. Qualidade JPEG – 80% é suficiente.
- 235x171
- 678x495
Onde
Vamos supor que as imagens de origem estão todas na pasta ~/tmp/img_src Precisamos
- mover as imagens resultantes para as pastas ~/tmp/img_235x171 e ~/tmp/img_678x495
- nomear as imagens como
_235x171.jpg e _678x495.jpg
Como
No Ubuntu Linux usaremos o imagemagick
sudo apt-get install imagemagick
Etapa de corte:
convert wizard.png -gravity center -extent 11:8 wizarc.jpg
# agora verifique a geometria
identify wizard.png wizarc.jpg
Etapa de redimensionamento
convert wizarc.jpg -resize 678x495 -quality 80 -interlace plane wizarc_678x495.jpg
convert wizarc.jpg -resize 235x171 -quality 80 -interlace plane wizarc_235x171.jpg
# agora verifique a geometria
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
80 é a qualidade do JPEG, e plane significa JPEG progressivo. Isso ajudará a carregar as imagens mais rapidamente em conexões lentas, não apenas porque primeiro será carregado o miniatura, mas o próprio arquivo é menor. Pelo menos no caso do bruxo.
Com bordas
convert wizarc.jpg -resize 676x493 -quality 80 -interlace plane -border 1x1 wizarc_678x495.jpg
convert wizarc.jpg -resize 233x169 -quality 80 -interlace plane -border 1x1 wizarc_235x171.jpg
# agora verifique a geometria
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
A imagem resultante que você vê no início deste post e as proporções da imagem de origem pareciam:
isso é após simples redimensionamento e adição de borda
convert wizard.png -resize 20% -quality 85 -interlace plane -border 2x2 wizard20.jpg
Outras opções
nautilus-image-converter
O nautilus-image-converter é uma extensão do nautilus para redimensionar ou girar imagens em massa. Para instalar o nautilus-image-converter em todas as versões atualmente suportadas do Ubuntu, abra o terminal e digite:
sudo apt-get install nautilus-image-converter
Ele adiciona dois itens de menu de contexto no nautlius, então você pode clicar com o botão direito e escolher “Redimensionar Imagem”. (O outro é “Girar Imagem”).
Você pode redimensionar todo um diretório de imagens de uma só vez, se quiser, e nem mesmo precisa abrir um aplicativo para isso.
Você precisa reiniciar o seu nautilus para ver os novos menus de contexto, execute
nautilus -q
e depois clique no ícone da pasta Início para recarregar o nautilus com o novo plug-in.
mogrify
O comando mogrify sobrescreve os arquivos originais com as imagens redimensionadas:
mogrify -resize 50% *.png # manter a proporção da imagem mogrify -resize 320x240 *.png # manter a proporção da imagem mogrify -resize 320x240! *.png # não manter a proporção da imagem mogrify -resize x240 *.png # não manter a proporção da imagem mogrify -resize 320x *.png # não manter a proporção da imagem
Outras ferramentas úteis
Obter detalhes meta da imagem – como resolução, bitdepth etc. – parte do pacote imagemagick.
identify image.jpg
produz algo como
image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009
Converter imagens para PDF
convert $(ls -v *.jpg) foobar.pdf
convert $(ls -v *.png) foobar.pdf