Manipulação de imagens usando ImageMagick
ImageMagick é o nome de uma bibliloteca open source para manipulação de imagens. Essa biblioteca possui vários recursos para manipulação de imagens, e é compatível com várias linguagens de programação (como Perl, PHP, Ruby e C), se tornando uma boa opção para manipular imagens em seus programas. Ela utiliza uma licensa própria, semelhante à licensa BSD.
Além de váris linguagens de programação, ela também dá suporte a vários sistemas operacionais Unix-like e também em Windows. Não tenho certeza disso, mas é provável que ela seja acessível no Windows a partir de qualque linguagem que faça chamadas a funções de uma DLL (por exemplo, Delphi).
A biblioteca dá suporte a mais de 100 formatos de imagens diferentes e possui vários efeitos. Embora a grande vantagem da biblioteca seja sua API para uso em programas, ela é distribuída junto com um editor de linha de comando, bastante útil para montagem de scripts shell. E é disso que vou falar hoje. As APIs para programação ficarão para um post futuro.
Utilizando o editor de linha de comando
O comando usado para manipular imagens é o comando convert. Utilizando parâmetros podemos informar arquivo de entrada, arquivo de saída e também os efeitos a serem aplicados. É possível aplicar mais de um efeito em uma mesma execução, apenas adicionando mais parâmetros.
Para mais detalhes, ver a manpage do comando convert (execute man convert na linha de comando, em sistemas Unix-like) ou veja a página http://www.imagemagick.org/Usage/.
Exemplos de uso
Converter para escalas de cinza
$ convert -colorspace gray entrada.jpg saida.jpg
Alterar brilho para 80% do brilho original
$ convert -modulate 80 entrada.jpg saida.jpg
O parâmetro modulate requer o brilho em números percentuais, por isso 80.
Alterar o contraste em 20%
$convert -sigmoidal-contrast 120
Da mesma forma que o brilho, o contraste é informado em percentual. Como queremos aumentar, informamos um percentual maior que 100.
Processamento em lote
É possível fazer algum processamento em lote com outra ferramente – mogrify.
CUIDADO: essa ferramente normalmente altera a imagem informada, ao invés de criar uma nova. Então ao experimentar, faça uma cópia de sua imagem e use a cópia, para não correr o risco de perder a imagem original.
Converter todas as imagens PNG do diretório para JPG
mogrify -format jpg *.png
Gerar thumbnails de todas as imagens do diretório em um subdiretório “thumbnails”
mogrify -path thumbnails -thumbnail 100x100 *
O comando leva em conta que o diretório já existe
Finalizando
Essa foi só uma breve apresentação da biblioteca e suas ferramentas. Com certeza isso não explora um mínimo do que a biblioteca ImageMagick é capaz. Recomendo a leitura da página http://www.imagemagick.org/Usage/, que possui muitos outros exemplos, inclusive de manipulações muito mais complexas.
Futuramente, falarei da utilização do PerlMagick, o módulo Perl para uso da ImageMagick.
assine você também!







Deixe um comentário