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