Oficina de GIFs animados
Um encontro divertido para interessados em programação de todos os níveis!
Vamos: * Instalar o Processing (Java) e o Processing Python Mode * Instalar e demonstrar uma biblioteca que exporta GIFs animados * Jogar conversa fora e criar GIFs Animados!
Próxima edição
Terça 24/5/2016 19h - Traga o seu computador!
Software necessário
- O IDE Processing que pode ser baixado em http://processing.org/download com o Processing Python Mode
- Biblioteca gifAnimation para Processing 1.0 e 2.0 http://extrapixel.github.io/gif-animation/
- Biblioteca gifAnimation para Processing 3.0 https://github.com/01010101/GifAnimation ou
Google Drive: gifAnimation.zzz(renomeie .zzz -> .zip)
O que é Processing?
Processing é uma plataforma livre/aberta de programação criada em 2001 por Casey Reas e Ben Fry, largamente utilizada por artistas e para o ensino de programação num contexto visual. O Processing IDE (da sigla em inglês para ambiente integrado de desenvolvimento – simplificando, um editor de texto para código) pode ser baixado em https://www.processing.org (curiosamente ele deu origem ao IDE do Arduino).
A versão 'standard' do Processing é baseada em Java, mas hoje existem dois outros projetos importantes da Fundação Processing:
- P5*JS (baseado em JavaScript);
- Processing Python Mode (baseado em Jython)
As ambos podem ser adicionados ao IDE tradicional.
Edicões anteriores
No Carnahacking_2016 Sábado 6/2 à 18h
Como foi:
Começou lá pelas 19h30...
- Instalação do Processing e da biblioteca nos computadores
- Demonstração do exemplo da biblioteca, no Modo Java/Standard
- Portar um exemplo para o Modo Python (rolou)
- Exportar GIFs de outros sketchs/exemplos (não rolou)
Pasta completa do 'sketch' portado para Processing Modo Python pela Yumi: Google Drive: python_Sukita.zip
"""
Exemplo do uso da biblioteca gifAnimation portado de Processing Java para Processing Python pela Yumi
na Oficina de GIFs animados do Villares no Carnahaking_2016 - usa imagem Sukita.png na pasta /data
"""
add_library('gifAnimation') # usa-se esta sintaxe para importar bibliotecas Java no Python Mode
rotation = 0.0
def setup():
global logo
logo = loadImage("Sukita.png") # carrega num objeto PImage arquivo da pasta /data
size(400, 500, P3D) # canvas OPGL está deprecado, nova constante P3D ativa canvas com 3D
frameRate(12)
global gifExport
gifExport = GifMaker(this, "exportsukita.gif") # (this é p/ bibl. Java, "arquivo que vai ser exportado")
gifExport.setRepeat(0) # número de loops no GIF exportado, ou 0 = loopa infinitamente
gifExport.setTransparent(0,0,0) # seta R, G, B da cor transparente (alpha) no GIF
def draw():
background(0)
translate(width/2, height/2)
global rotation
rotation+=0.12
rotateY(rotation)
image(logo, -logo.width/2,-logo.height/2)
gifExport.setDelay(1) # seta delay do frame no GIF exportado
gifExport.addFrame() # põe um frame do canvas atual no GIF sendo exportado
def keyPressed(): # se apertada uma tecla no teclado
gifExport.finish() # termina a exportação do GIF
print("gif saved")