Que dá pra manipular texto pelo terminal,todo mundo tá cansado de saber que dá e não faltam opções, sed, awk, cut, tr… mas e imagens? Dá também, pra isso existe o ImageMagick, ele suporta 200 formatos de imagens dentre os quais obviamente estão JPG e PNG, e da pra fazer muita coisa como: cortar, mover, colorizar, descolorizar, deixar em tons de sépia, escrever textos, desenhar formas geométricas… enfim, tudo que você faria no GIMP/Photoshop, MAS em linha de comando.
Obtendo o ImageMagick
Ele está disponível nos repositórios de todas as distros mas caso queira “experimentar sem compromisso” ele está disponível via AppImage também e vai ser essa versão que nós vamos usar:
Baixe com esse comando:
wget "https://github.com/ImageMagick/ImageMagick/releases/download/7.0.8-49/ImageMagick-ec9498c-gcc-x86_64.AppImage" -O ImageMagick.AppImage
Deixe executável com esse:
chmod +x "ImageMagick.AppImage"
E pronto, só isso
Exemplos de efeitos:
Pra “fins didáticos” vou usar a primeira imagem legal que eu vi no Pixabay que foi a dessa moça. No geral o uso do ImageMagick se resume em:
./ImageMagick.AppImage "<imagem>" <parâmetros> "<imagem de saida>"
Então para fins de simplificação, irei colocar apenas os parâmetros passados. A imagem original para fins de comparação é essa:
Sem opções:
Nessa seção estão efeitos que não possuem opções de variação
1. Preto e branco (escala de cinza):
Parâmetros:
-set colorspace Gray -separate
Resultado:
2. Cores invertidas (Negativo):
Parâmetro:
-negate
Saída:
Com uma opção:
Nessa seção, modifique o número para obter diferentes intensidades de efeito
3. Efeito desenho:
Parâmetros:
-negate -edge 1 -negate
Saída:
4. Efeito de pintura a óleo
Parâmetros:
-paint 1
Saída:
5. Moldura elevada:
-raise 3
Saída:
6. O inverso da Anterior:
-raise 3
Saída:
6. Efeito “spread”
-spread 2
Saída:
Efeitos Com porcentagem
Nessa seção, modifique o número para obter diferentes intensidades de efeito como na anterior mas lembre-se de manter o sinal de % ao lado direito do número
6. Efeito “Tons de sépia”
-sepia-tone 80%
Saída:
6. Redimesionar em escala
-resize 85%
Saída:
Conclusão + “Projeto final”
É impossível listar tudo o que dá pra fazer com essa incrível ferramenta, meu objetivo com esse post foi apresentar a ferramenta e mostrar um pouco da sua capacidade com comando beeem simples mas saiba que ela não se limita a isso e dá pra fazer coisas muuuuito mais complexas que pra não deixar o texto muito denso não vou mostrar aqui, mas pra finalizar vamos fazer um efeito mais “elaborado” combinando duas imagens com o efeito de foto antiga, as únicas imagens usadas serão a de exemplo acima e e essa ambas em domínio público:
# Adicionar o efeito de sépia
./ImageMagick.AppImage "foto.jpg" -sepia-tone 80% "foto-sepia.jpg"
# Adicionar o efeito de foto antiga
./ImageMagick.AppImage "foto-sepia.jpg" -bordercolor white -background black +polaroid foto-impressa.png
# Espelhar a imagem horizontalmente
./ImageMagick.AppImage foto-impressa.png -flop foto-impressa.png
# Sobrepor as duas imagens
./ImageMagick.AppImage composite -gravity center "foto-antiga.png" "foto-de-fundo.jpg" resultado.jpg
O resultado pode ser visto abaixo:
A referência de linha de comando pode ser encontrada aqui
No mais é isso, espero que esse dica/tutorial possa ser útil, obrigado por ter lido até aqui, até a próxima