ATENÇÃO: O blog está de casa e cara nova.
O novo endereço agora é http://www.jjocenio.com.

Se você não for redirecionado automaticamente, por favor, clique link acima.

Manipulando imagens com ImageMagick

Para aqueles que não conhecem, o ImageMagick é uma suíte de programas para manipular imagens com suporte a uma grande variedade de formatos e que é tipicamente utilizada pela linha de comando. É possível utilizar o ImageMagick para redimensionar, rotacionar, espelhar, adicionar texto, entre outras funcionalidades e é muito (muito mesmo) útil quando você precisa alterar dezenas ou centenas de arquivos.

O ImageMagick possui ainda bibliotecas em várias linguagens para que você possa adicionar funcionalidades de manipulação de imagens na sua aplicação. Entre as versões disponíveis estão implementações em C, JAVA, .NET e PHP.

Apesar de todos os recursos disponíveis na suíte, a grande maioria dos usuários utilizará as funções de redimensionar e converter imagens. Essas são as que eu, particularmente, mais utilizo. Sendo assim, essas serão as funcionalidades que mostrarei aqui.

Para redimensionar uma imagem o usuário pode fazê-lo utilizando o aplicativo mogrify com no comando abaixo.
mogrify -resize LARGURAxALTURA arquivo
mogrify -resize 800x600 imagem.jpg
Neste caso, o programa irá alterar as dimensões da imagem mantendo a proporção, ou seja, a largura será alterada para, no máximo, 800 pixels e a altura será alterada proporcionalmente até 600 pixels, no máximo.
mogrify -resize 800x600! imagem.jpg
Neste outro exemplo, a imagem será redimensionada ignorando a proporção e terá exatamente as medidas fornecidas.
mogrify -resize 50% imagem.jpg
No exemplo acima, a imagem será redimensionada para 50% do seu tamanho original, mantendo a proporção.

A conversão de imagens é uma operação ainda mais simples. O programa convert fornece diversas formas de conversão e pode ser usado da seguinte forma.
convert arquivo.jpg arquivo.png
Neste exemplo, o arquivo será convertido do formato jpg para png e pode utilizar coringas na seleção de arquivos.
convert *.jpg *.png
O programa permite, por exemplo, juntar vários arquivos em um só.
convert *.jpg arquivounico.pdf
Além desses, a suíte ImageMagick fornece inúmeros outros recursos para tratamento de imagens, que você pode explorar mais profundamente em http://www.imagemagick.org/script/command-line-tools.php.