Criando GIFs animadas pelo terminal GNU/Linux

Publicado por Fábio Berbert de Paula em 21/12/2012

[ Hits: 14.894 ]

Blog: https://fabio.automatizando.dev

 


Criando GIFs animadas pelo terminal GNU/Linux



Pré-requisito: Pacote ImageMagick instalado no sistema (apt-get install imagemagick).

Primeiro vamos ver como criar o fundo de nosso GIF animado em comando separado, para facilitar o entendimento:

convert -size 150x110 canvas:green fundo.gif

Onde:
  • -size 150x110 :: é o tamanho da imagem em pixels (largura x altura);
  • canvas:green :: a cor do canvas (fundo) será verde;
  • fundo.gif :: nome da imagem a ser criada.

Mas ainda podemos melhorar, criando por exemplo um fundo em gradiente:

convert -size 150x110 gradient:green-lightgreen fundo.gif
Agora vamos criar três imagens em separado, que juntas formarão "Viva", "o", "Linux":

convert -transparent white -font Fixed -density 90 -pointsize 25 -size 60x30 label:Viva viva.gif
$ convert -transparent white -font Fixed -density 90 -pointsize 25 -size 20x30 label:o o.gif
$ convert -transparent white -font Fixed -density 90 -pointsize 25 -size 75x30 label:Linux linux.gif


Onde:
  • -transparent white :: diz que a imagem terá fundo transparente onde o canvas for branco (padrão);
  • -font Fixed :: define a fonte a ser usada;
  • -density 90 :: espessura da fonte;
  • -pointsize 25 :: tamanho da fonte;
  • -size :: tamanho da imagem, em pixels;
  • label :: texto a ser desenhado.

E agora vamos juntar tudo numa GIF animada:

convert -size 150x110 -delay 100 gradient:green-lightgreen -page +5+10 viva.gif -page +55+40 o.gif -page +60+70 linux.gif -loop 0 fundo.gif

Onde:
  • -delay 100 :: tempo em centésimos de segundo entre os quadros da animação;
  • -page +x+y :: posição da imagem em relação ao canvas (pixels);
  • -loop 0 :: quando "0" (zero), é loop infinito.

NOTA: O fundo.gif está sendo criado no último comando. Os primeiros comandos de criação de fundo foram mostrados apenas para fins didáticos.

Resultado:
Sim, reconheço que ficou bem tosco. Fica valendo pela apresentação do recurso.

Isso é só um milionésimo do que pode ser feito com o ImageMagick. Quer aprender mais sobre o assunto? Delicie-se com:
Um abraço.

Outras dicas deste autor

Falha ao conectar fone bluetooth (headset) no Debian [Resolvido]

Mapeando teclas de modo visual no VIM

Arduino - Porta serial acessível a todos os usuários

Fazer ModemManager ignorar ttyACM [Resolvido]

Como copiar arquivos do Windows para o Linux

Leitura recomendada

Criando bibliotecas (shared library) *.so

OpenSuSE 10.2 e Windows XP no mesmo HD

Samba4 Erro no Bind(Named) zone XXX.in-addr.arpa/NONE: has no NS records [RESOLVIDO]

CentOS 5.4 - Criando um repositório local em 10 passos

Varnishlog - Não inicia com "varnishlog start" no shell [RESOLVIDO]

  

Comentários
[1] Comentário enviado por removido em 21/12/2012 - 14:22h

Legal esse recurso. Gostei!


[3] Comentário enviado por lcavalheiro em 23/12/2012 - 09:36h

ImageMagick, um pacote do cacete de bom!

[4] Comentário enviado por Teixeira em 25/12/2012 - 10:44h

Puxa, valeu!!!

[5] Comentário enviado por lcavalheiro em 29/12/2012 - 20:27h

fabio, tem algum complemento pro artigo para criar gif's com efeito de fading in ou out?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts