Introdução à programação
com Python em um contexto visual


Exportando animações

Há mais de uma estratégia possível para exportar imagens em movimento, seja em vídeo ou um GIF animado. Um caminho é exportar os diversos frames e usar alguma ferramenta de conversão, o outro é usar uma ferramenta que exporte diretamente um formato desejado.

A. Exportando frames

Podemos usar save_frame() dentro do draw(), como neste exemplo:

diameter = 1

def setup():
    size(200, 200)
    smooth()

def draw():
    # o desenho da aminação vai aqui
    global diameter
    ellipse(50, 50, diameter, diameter)
    diameter = diameter + 1
    # e no final do draw()
    if frame_count < 500 and frame_count % 2 == 1:
        print(frame_count)
        save_frame('imagem####.tga')
    else:
        exit_sektch()

Para a converter esses ‘frames’ em um vídeo ou em um GIF animado, podemos usar:

B. Exportação de GIF direto com py5

A biblioteca py5 tem um módulo chamado py5_tools que, entre outras ferramentas, tem uma função para ajudar a exportar GIFs usando a infraestrutura do Pillow.

import py5_tools

diameter = 1

def setup():
    size(200, 200)
    smooth()
    frames = list(range(0, 500, 2))  # 250 frames: 0, 2, 4, 6 ... 498
    py5_tools.animated_gif('anima.gif', frame_numbers=frames, duration=0.1)

def draw():
    # o desenho da aminação vai aqui
    global diameter
    ellipse(50, 50, diameter, diameter)
    diameter = diameter + 1

Veja a documentação completa em py5coding.org/reference/py5tools_animated_gif.html

anima

C. Gravando a tela do computador

Uma última estratégia que pode ser útil para documentar e compartilhar o resultado de sketches, especialmente quando eles são interativos, é gravar a tela do computador, ou parte dela.