topical media & game development
graphic-processing-site-examples-Libraries-Video--Capture--SlitScan-SlitScan.pde / pde
Simple Real-Time Slit-Scan Program.
By Golan Levin.
This demonstration depends on the canvas height being equal
to the video capture height. If you would prefer otherwise,
consider using the image copy() function rather than the
direct pixel-accessing approach I have used here.
Created December 2006.
Updated June 2007 by fry.
import processing.video.*;
Capture video;
int videoSliceX;
int drawPositionX;
void setup() {
size(600, 240);
// Uses the default video input, see the reference if this causes an error
video = new Capture(this, 320, 240, 30);
videoSliceX = video.width / 2;
drawPositionX = width - 1;
background(0);
}
void draw() {
if (video.available()) {
video.read();
video.loadPixels();
// Copy a column of pixels from the middle of the video
// To a location moving slowly across the canvas.
loadPixels();
for (int y = 0; y < video.height; y++){
int setPixelIndex = y*width + drawPositionX;
int getPixelIndex = y*video.width + videoSliceX;
pixels[setPixelIndex] = video.pixels[getPixelIndex];
}
updatePixels();
drawPositionX--;
// Wrap the position back to the beginning if necessary.
if (drawPositionX < 0) {
drawPositionX = width - 1;
}
}
}
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.