Redimensionando Imagens com Scripting e o ImageMagik

Redimensionar automaticamente imagens para se adequar a sites estáticos

Conteúdo da página

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.

678x495 wizard

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:

20% do bruxo

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