Logo Image Magick

ImageMagick

Muitas vezes queremos fazer pequenos ajustes em imagens, sem contudo necessitarmos abrir programas com mais recursos. Queremos coisas pontuais, como cortar, redimensionar, girar, unir, gerar PDFs, colocar molduras. O pacote ImageMagik tem uma séire de recursos. Vamos ver a Sintaxe + Exemplos

Trabalhando com Imagens

Informações da foto

identify imagem.jpg

Converter imagem em outro formato

convert entrada.jpg saida.png

Altere o formato de entrada e de saida conforme desejar. Formatos podem ser jpg, png, bmp e outros são possibilidades.

Girar fotos

convert -rotate GRAUS imagem.jpg imagemgirada.jpg

0 (girar foto para direita) ou 270 (girar foto para esquerda)

Reduzir fotos de câmeras digitais para web

convert -density 72x72 -geometry AxB imagem.jpg imagemreduzida.jpg

AxB -640×480, 800×600, 1024×768 ou 100×100 (thumbnails)

Inserir Legendas em texto

convert -annotate +50+50 "by AsmayR" -pointsize 20 -fill gray -gravity northwest AHM-color-shadow.jpg Ahm01.jpg

(gravity = northeast, northwest, southeast ou southweast)

Molduras e bordas

convert -raise 5x5 original.jpg altorelevo.jpg

ou

convert +raise 5x5 original.jpg baixorelevo.jpg

Montage - combinação de imagens

O comando montage, consiste em combinar diversas imagens em uma única, criando tabelas de fotos.

Combinação sem efeitos

montage *.png

Efeito Polaroid

montage -polaroid 15 *.jpg destino-polaroid-15.png

Desvio de 15 graus em relação à vertical ou 0 sem rotação

Invertendo a imagem

montage -flop tn_*jpg flop.png

Legendas em fotos

Acredito que seja mais adequado fonte de cor amarela circundada por uma borda preta, dessa maneira, não importa qual a imagem sob a legenda, o texto sempre estará legível. Isso pode ser conseguido com o comando:

convert -font FONTE -fill yellow -stroke black -pointsize \
TAMANHO_FONTE -draw 'text POSICAO_X,POSICAO_Y \
"TEXTO"' -stroke none -draw 'text POSICAO_X,POSICAO_Y \
"TEXTO"' IMAGEM_ORIGEM IMAGEM_DESTINO

Exemplo:

convert -font helvetica -fill yellow -stroke black \
-pointsize 12 -draw 'text 10,10 "Fulaninho da Silva - 2005"' \
-stroke none -draw 'text 10,10 "Fulaninho da Silva - 2005"' \
aaa.jpg imagemlegendada.jpg

União imagens

convert 1.jpg 2.jpg 3.jpg +append -background skyblue resultado.jpg

Trabalhando com PDFs

Unir Pdfs

Você pode selecionar na ordem desejada os pdfs que deseja unir. Depois escolha um nome para o arquivo pdf que será o resultado da união de todos.

convert 1.pdf 2.pdf novo_arquivo.pdf

ou, se desejar unir todos de um diretório/pasta, use o * como curinga (o ideal é que estejam numerados sequencialmente, ou em ordem alfabética, pois o arquivo gerado é organizado em função da ordem que se encontram no diretório/pasta)

convert *.pdf novo_arquivo.pdf

Gerar Pdfs a partir de imagens

Você pode selecionar na ordem desejada as imagens que deseja unir. Depois escolha um nome para o arquivo pdf que será o resultado da união de todas.

convert 1.png 2.jpg 3.svg novo_arquivo.pdf

ou, se desejar gerar um pdf com todas as imagens de um diretório/pasta, use o * como curinga (o ideal é que estejam numerados sequencialmente, ou em ordem alfabética, pois o arquivo gerado é organizado em função da ordem que se encontram no diretório/pasta)

convert *.png *.jpg *svg novo_arquivo.pdf

Extrair imagens de um pdf

O comando é bem simples. Você especifica o pdf que contem as imagens e solicita a geração de imagens numeradas sequencialmente.Esta numeração sequencial é obtida com o parâmetro %d. No exemplo abaixo, as imagens foram geradas em png, mas poderiam ser geradas em jpg, caso fosse especificado este formato.

convert arquivo.pdf %d.png