Categorias
ferramentas Linux www

fazendo imagens com bandeiras usando o ImageMagick

Esses dias o Facebook ofereceu uma opção para fazer a imagem do seu perfil com a bandeira da França.

Eu fiquei com vontade de fazer a mesma coisa com a bandeira de Minas Gerais, então resolvi fazer isso com o ImageMagick.

Pra quem não conhece, ele é praticamente um Adobe Photoshop em linha de comando, ideal para os usuários que preferem fazer scripts ao invés de clicar aqui e ali. Ele também serve para os usuários que gostam do software livre, já que ele é open source.

Não perca tempo e instale essa excelente ferramenta em seu sistema Linux ou Windows.

Em primeiro lugar, fui lá no meu perfil e baixei a minha imagem, chamei o arquivo de meu-perfil.jpg .

meu-perfil

O ImageMagick tem várias ferramentas, uma para cada coisa, temos o identify , uma boa para extrair informações da imagem:

$ identify meu-perfil.jpg 
meu-perfil.jpg JPEG 300x300 300x300+0+0 8-bit sRGB 15.4KB 0.000u 0:00.000

 

Agora vamos baixar a bandeira de Minas Gerais, ela existe em vários tamanhos na Wikipedia, vamos pegar a de 1,024 × 717 pixels e converter para o mesmo tamanho da nossa imagem com a ferramenta convert .

$ convert -resize 300x300 https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Bandeira_de_Minas_Gerais.svg/1024px-Bandeira_de_Minas_Gerais.svg.png  minas1.png
$ identify minas1.png 
minas1.png PNG 300x210 300x210+0+0 8-bit sRGB 11.2KB 0.000u 0:00.000

minas1

Note que ela não ficou do mesmo tamanho que a imagem do perfil, ela ficou proporcional ( 300×210 ao invés de 300×300 ).

Para forçamos a conversão exata, a imagem pode sofrer alterações, colocamos apenas uma exclamação no comando:

$ convert -resize 300x300! https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Bandeira_de_Minas_Gerais.svg/1024px-Bandeira_de_Minas_Gerais.svg.png  minas2.png
$ identify minas2.png 
minas2.png PNG 300x300 300x300+0+0 8-bit sRGB 14.8KB 0.000u 0:00.000 

minas2

Agora finalmente vamos juntar as duas imagens com composite , e a opção blend para definir a porcentagem da imagem da bandeira em cima do seu perfil (no nosso exemplo está 30%).

No primeiro caso, a bandeira está correta, mas ela não cobre completamente a imagem do perfil.

$ composite -blend 30 -gravity center minas1.png meu-perfil.jpg fb-minas1.png 

fb-minas1

Nesse segundo a bandeira cobre toda imagem, mas ela está um pouco esticada.

$ composite -blend 30 -gravity center minas2.png meu-perfil.jpg fb-minas2.png

fb-minas2

Com essas dicas você já pode colocar a bandeira que quiser na sua foto e divulgar por aí… divirta-se!

Fernando Boaglio, para a comunidade

Por Fernando Boaglio