você está aqui: Home  → Arquivo de Mensagens

Criando Animações com ImageMagick

Colaboração: Júlio Cezar Neves

Data de Publicação: 31 de outubro de 2017

O pacote ImageMagick é extremamente poderoso e possui funcionalidades que muitos desconhecem. O scritp entorta.sh, cria uma animação simples, que pode ser visualizada em qualquer browser web.

Download do script

Script entorta.sh

#!/bin/bash
#  Montando uma animação no ImageMagick

#  Vou fazer uma figura que servirá como base da animação.
#+ Ela será composta por 1 quadrado azul com 2 retângulos
#+ inscritos, formando a figura base.png
convert -size 150x150 xc:blue                   \
    -fill yellow -draw 'rectangle 5,5 145,72.5' \
    -fill yellow -draw 'rectangle 5,77.5 145,145' base.png

for ((i=1; i<=40; i++))
{
    #  Gero 40 imagens de trabalho, torcendo (swirl)
    #+ a imagem base.png com incrementos de 35 graus
    convert -swirl $((35*$i)) base.png Trab_$i.png 

    #  Concateno o nome de todas as imagens em Arqs

    Arqs="$Arqs Trab_$i.png"                       }

#  A animação a seguir é garantida pela opção -coalesce.
#+ A opção -dither é usada para diminuir a perda de
#+ qualidade com a redução da qtd de cores.
#+ A opção -colors 32 reduz a qtd de cores.
#+ A opção -layers optimize, usada com a anterior 
#+ visam acelerar o processo.

convert -coalesce -dither -colors 32 -layers optimize $Arqs Anim.gif

#  Agora, se vc abrir Anim.gif no browser, verá a animação.

A figura abaixo é o resultado final do processo:

Júlio Cézar Neves

O 4º UNIX do mundo nasceu na Cidade Maravilhosa, mais precisamente na Cobra Computadores, onde à época trabalhava o Julio. Foi paixão à 1ª vista! Desde então, (1980) atua nessa área como especialista em Sistemas Operacionais e linguagens de programação. E foi por essa afinidade que quando surgiu o Linux foi um dos primeiros a estudá-lo com profundidade e adotá-lo como Sistema Operacional e filosofia de vida. É autor dos livros Programação Shell Linux, 11ª edição e Bombando o Shell.

Veja a relação completa dos artigos de Júlio Cezar Neves

 

 

Opinião dos Leitores

Eduardo
31 Out 2017, 18:12
Olá,
Realmente também notei este probleminha, mas já foi solucionado!
Obrigado Julio e Noilson!
julio Neves
31 Out 2017, 10:35
Valeu Noilson,
Te agradeço a correção, mas esse script o Rubens puxou lá do fundo do bau (foi publicado pela dicas-l há mais de 5 anos) e nem me lembrava mais dele.

Nessa época escrevi muito sobre o convert (umas 60 páginas A4) e um pouquinho sobre mogrify e identify mas nunca fiz nada com isso. Posso até te passar o material, caso deseje complementar com os outros aplicativos da suíte.

Caso queira o material (está no formato ODF), me mande um e-mail em pvt
Noilson Caio
31 Out 2017, 10:18
Olá Júlio, parabéns por mais uma contribuição interessante. Você percebeu que aparentemente tem um errinho de sintaxe no comando convert ? Aparentemente a FLAG dither não tem um método definido, gerando a seguinte saída de erro:

convert: unrecognized dither method `-colors' @ error/convert.c/ConvertImageCommand/1375.

Para obter uma lista dos métodos disponíveis:

convert -list dither
None
FloydSteinberg
Riemersma


Seria algo como:

convert -coalesce -dither None -colors 32 -layers optimize $Arqs Anim.gif

Obrigado =]
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script