processing #9 : cadeau !

mardi 27 septembre 2011 | graphisme

Vous aimez les gif animés ?
Aujourd’hui, voici une petite application (à télécharger pour Mac en bas de cette article) pour transformer votre webcam en machine à gif, le tout en Processing !
Mode d’emploi : clic gauche pour ajouter une image, clic droit pour enregistrer, le fichier est créé dans le répertoire de l’application avec comme nom « l’heure » .gif, et on peut en refaire un en cliquant de nouveau.

Si vous voulez l’améliorer, il faut installer cette librairie dans votre Processing.

Les sources sont livrées dans le zip.

import processing.video.*;
import gifAnimation.*;

Capture myCapture;
GifMaker gifExport;
boolean ready;
String name;
Gif last;

void setup() {
  ready=true;
  background(0);
  size(320, 240);
  frameRate(25);
  myCapture = new Capture(this, 320, 240, 30);
  bw_start();
}

void bw_start() {
  int s = second(); 
  int m = minute(); 
  int h = hour();  
  name = nf(h, 2)+"_"+nf(m, 2)+"_"+nf(s, 2)+".gif";
  gifExport = new GifMaker(this, name, 0);
  gifExport.setRepeat(0);
}

void captureEvent(Capture myCapture) {
  myCapture.read();
}

void draw() {
  if (ready) {
    image(myCapture, 0, 0);
  }
  else {
    PFont geneva = createFont("geneva", 9, false);
    textFont(geneva, 9);
    image(last, 0, 0);
    text("Gif My Cam!\n-- result --\nclick to create again", 20, 20);
  }
}

void mousePressed() {
  if (ready) {
    if (mouseButton== LEFT) { 
      gifExport.setSize(320, 240);
      gifExport.setDelay(70);
      gifExport.addFrame();
    }
    if (mouseButton== RIGHT) { 
      ready=false;
      gifExport.finish();
      last = new Gif(this, name);
      last.play();
    }
  }
  else {
    ready=true; 
    bw_start();
  }
}

gif_my_cam.zip


tags : , , ,

Comments are closed.