emailconfirmed
1,824
edits
No edit summary |
No edit summary |
||
Line 238: | Line 238: | ||
---- | ---- | ||
== Video Delay == | |||
<source lang="java"> | |||
import processing.video.*; | |||
Capture camera; | |||
int maxFrames; | |||
int d = 4; | |||
boolean recording = false; | |||
ArrayList frames = new ArrayList(); | |||
void setup() { | |||
size(640, 480); | |||
maxFrames = width / d; | |||
// init camera | |||
camera = new Capture(this, width, height); | |||
camera.start(); // wichtig! | |||
// add first image | |||
PImage img = createImage(width, height, RGB); | |||
frames.add(img); | |||
} | |||
void draw() { | |||
int n = frames.size(); | |||
// iterate over vertical strips | |||
for(int i = 0; i < n; i++) { | |||
// get snip from the frame | |||
PImage img = (PImage) frames.get(i); | |||
// x coordinate for the left side of the current strip | |||
int x1 = int(map(i, 0, n-1, 0, width/2 - 100)); | |||
int y1 = int(map(i, 0, n-1, 0, height/2 - 100)); | |||
int x2 = width - x1; | |||
int y2 = height - y1; | |||
int w = x2 - y1; | |||
int h = y2 - y1; | |||
PImage snip = img.get(x1, y1, w, h); | |||
// show strip on screen | |||
//tint(255, 50); | |||
image(snip, x1, y1); | |||
} | |||
if(recording) { | |||
saveFrame("frame-####.png"); | |||
// recording feedback | |||
stroke(255, 0, 0); | |||
noFill(); | |||
strokeWeight(5); | |||
rect(0, 0, width, height); | |||
} | |||
} | |||
void keyPressed() { | |||
recording = !recording; | |||
} | |||
void captureEvent(Capture camera) { | |||
camera.read(); // wichtig! | |||
PImage img = camera.get(); | |||
frames.add(img); | |||
if( frames.size() > maxFrames) { | |||
frames.remove(0); | |||
} | |||
} | |||
</source> |