Palavras-chave: shell, convert, ImageMagick, redimensionar, resize, thumbnail, imagem, foto
O ImageMagick é um conjunto de softwares para manipular vários formatos de imagens. Esta dica aborda como redimensionar imagens.
Dentre os programas do ImageMagick está o comando convert, que possui várias opções para manipular imagens. Para redimensionar utilizamos a seguinte sintaxe:
convert -resize <largura>x<altura> arquivo_original arquivo_novo
Exemplo prático: Criar um thumbnail do arquivo imagem.jpg.
convert -resize 120x120 imagem.jpg thumbnail_imagem.jpg
Pode-se ainda redimensionar a imagem e, ao mesmo tempo, converter para outro formato. Por exemplo, criar o thumbnail como PNG:
convert -resize 120x120 imagem.jpg thumbnail_imagem.png
Como último exemplo, um script que cria thumbnails para todos os arquivos JPG do diretório corrente e cria uma página HTML para visualizar as imagens:
#!/bin/bash for i in *.jpg; do echo "Gerando thumbnail da imagem $i..." convert -resize 120x120 $i thumbnail_$i echo "<a href=\"$i\"> <img src=\"thumbnail_$i\"> </a>" >> index.html done
Agora é só abrir o arquivo index.html no seu navegador favorito.
Mais detalhes: man convert
Gosto muito do convert do IM. Uso dele no meu script ConverTeX (http://otavio.canetatinteiro.org/Files/ConverTeX) que pega uma equação em TeX e salva como uma imagem png com transparência
$ ConverTeX -e ‘E = mc^2’
e ele cria a equação .png para mim, já com o -trim -transparent.
:-)
Aproveito pra compartilhar a minha dica: uso o imagemagick pra adicionar um label às fotos que disponibilizo em minha página. Segue o comando:
LABEL=”bla bla bla”
convert -font DejaVu-Sans-Book -background ‘#000000A0’ -fill white \
label:”$LABEL” miff:- | composite \
-gravity southeast -geometry +2+2 – orig.jpg new.jpg
Segue o link pra um site com muitos exemplos de uso do imagemagick (de onde eu me baseei pra criar o comando acima):
http://www.cit.gu.edu.au/~anthony/graphics/imagick6/annotating/
Eu prefiro usar o convert -geometry para dar a nova dimensao da imagem, assim nao perde a proporcao.
henrique: o convert mantem a proporção por default, mesmo você passando algo como “120×120”. Pra redimensionar pra um valor exato, é necessário usar um ! no final do tamanho (como “120×120!”)
muito legal mesmo o imagemagick. Assim como o Ademar, eu também uso o convert pra adicionar label nas minha fotos. ;-)
[]’s