Mudanças entre as edições de "Oficina de GIFs animados"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 8: Linha 8:
 
=== Edicões anteriores ===
 
=== Edicões anteriores ===
   
No [[Carnahacking_2016]] Sábado 6/2 à 18h
 
 
[[Arquivo:Carnahacking.gif]]
 
[[Arquivo:Carnahacking.gif]]
   
  +
 
No [[Carnahacking_2016]] Sábado 6/2 à 18h
   
 
Começou lá pelas 19h30...
 
Começou lá pelas 19h30...

Edição das 15h23min de 12 de maio de 2016

Um encontro para interessados em programação de todos os níveis!


Próximas

 Terça 24/5/2016 19h

Edicões anteriores

Carnahacking.gif


No Carnahacking_2016 Sábado 6/2 à 18h

Começou lá pelas 19h30...

Atividades:

  • Instalação do Processing e da biblioteca nos computadores
  • Demonstração do exemplo da biblioteca, no Modo Java/Standard
  • Exportar GIFs de outros sketchs/exemplos (não rolou)
  • Portar um exemplo para o Modo Python (rolou)

Foi usado Processing (http://processing.org) e o Processing Python Mode (http://py.processing.org)

O IDE Processing pode ser baixado em http://processing.org/download

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)

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")