Last active
August 29, 2015 14:25
-
-
Save lmccart/b701dcd62c55ef4a1fe6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
///////////////////////////////////////////////////////////////// | |
// basic button | |
var button; | |
function setup() { | |
createCanvas(640, 480); | |
noLoop(); | |
colorMode(HSB); | |
noStroke(); | |
button = createButton('change'); | |
button.mousePressed(change); | |
} | |
function change() { | |
background(random(255), 255, 255); | |
fill(random(255), 255, 255); | |
ellipse(width/2, height/2, 200, 200); | |
} | |
///////////////////////////////////////////////////////////////// | |
// position button | |
var button; | |
function setup() { | |
createCanvas(640, 480); | |
noLoop(); | |
colorMode(HSB); | |
noStroke(); | |
button = createButton('change'); | |
button.mousePressed(change); | |
button.position(20, 20); | |
} | |
function change() { | |
background(random(255), 255, 255); | |
fill(random(255), 255, 255); | |
ellipse(width/2, height/2, 200, 200); | |
} | |
///////////////////////////////////////////////////////////////// | |
// position canvas | |
var button; | |
var x = 0; | |
var y = 0; | |
var cnv; | |
function setup() { | |
cnv = createCanvas(640, 480); | |
cnv.position(0, 0); | |
noLoop(); | |
colorMode(HSB); | |
noStroke(); | |
button = createButton('change'); | |
button.mousePressed(change); | |
button.position(20, 20); | |
} | |
function draw() { | |
background(0); | |
} | |
function change() { | |
background(random(255), 255, 255); | |
fill(random(255), 255, 255); | |
ellipse(width/2, height/2, 200, 200); | |
x += random(-3, 10); | |
y += random(-3, 10); | |
cnv.position(x, y); | |
} | |
///////////////////////////////////////////////////////////////// | |
// textbox and button | |
var button; | |
function setup() { | |
// create canvas | |
createCanvas(710, 400); | |
input = createInput(); | |
input.position(20, 65); | |
button = createButton('submit'); | |
button.position(150, 65); | |
button.mousePressed(greet); | |
greeting = createP('what is your name?'); | |
greeting.position(20, 5); | |
textAlign(CENTER) | |
textSize(80); | |
stroke(0); | |
fill(255); | |
} | |
function greet() { | |
var name = input.value(); | |
greeting.html('hello '+name+'!'); | |
input.value(''); | |
for (var i=0; i<200; i++) { | |
push(); | |
translate(random(width), random(height)); | |
rotate(random(2*PI)); | |
text(name, 0, 0); | |
pop(); | |
} | |
} | |
///////////////////////////////////////////////////////////////// | |
// slider | |
var rSlider, gSlider, bSlider; | |
function setup() { | |
// create canvas | |
createCanvas(710, 400); | |
textSize(15) | |
noStroke(); | |
// create sliders | |
rSlider = createSlider(0, 255, 100); | |
rSlider.position(20, 20); | |
gSlider = createSlider(0, 255, 0); | |
gSlider.position(20, 50); | |
bSlider = createSlider(0, 255, 255); | |
bSlider.position(20, 80); | |
} | |
function draw() { | |
var r = rSlider.value(); | |
var g = gSlider.value(); | |
var b = bSlider.value(); | |
background(r, g, b); | |
text("red", 165, 35); | |
text("green", 165, 65); | |
text("blue", 165, 95); | |
} | |
///////////////////////////////////////////////////////////////// | |
// video, button | |
var playing = false; | |
var fingers; | |
var button; | |
function setup() { | |
fingers = createVideo('assets/fingers.mov'; | |
button = createButton('toggle'); | |
button.mousePressed(toggleVid); // attach button listener | |
} | |
// plays or pauses the video depending on current state | |
function toggleVid() { | |
if (playing) { | |
fingers.pause(); | |
} else { | |
fingers.loop(); | |
} | |
playing = !playing; | |
} | |
///////////////////////////////////////////////////////////////// | |
// html method | |
var playing = false; | |
var fingers; | |
var button; | |
function setup() { | |
fingers = createVideo('assets/fingers.mov'; | |
button = createButton('play'); | |
button.mousePressed(toggleVid); // attach button listener | |
} | |
// plays or pauses the video depending on current state | |
function toggleVid() { | |
if (playing) { | |
fingers.pause(); | |
button.html('play'); | |
} else { | |
fingers.loop(); | |
button.html('pause'); | |
} | |
playing = !playing; | |
} | |
///////////////////////////////////////////////////////////////// | |
// Draw video to canvas. | |
var fingers; | |
function setup() { | |
createCanvas(710, 400); | |
// specify multiple formats for different browsers | |
fingers = createVideo('assets/fingers.mov'); | |
fingers.loop(); // set the video to loop and start playing | |
fingers.hide(); // by default video shows up in separate dom | |
// element. hide it and draw it to the canvas | |
// instead | |
} | |
function draw() { | |
background(150); | |
image(fingers,10,10); // draw the video frame to canvas | |
filter('GRAY'); | |
image(fingers,150,150); // draw a second copy to canvas | |
} | |
///////////////////////////////////////////////////////////////// | |
// Manipulate pixels of video. | |
var fingers; | |
function setup() { | |
createCanvas(640, 480); | |
// specify multiple formats for different browsers | |
fingers = createVideo('fingers.mov'); | |
fingers.loop(); | |
fingers.hide(); | |
noStroke(); | |
fill(0); | |
} | |
function draw() { | |
background(255); | |
fingers.loadPixels(); | |
var stepSize = round(map(mouseX, 0, width, 6, 32)); | |
for (var y=0; y<height; y+=stepSize) { | |
for (var x=0; x<width; x+=stepSize) { | |
var i = y * width + x; | |
var darkness = (255 - fingers.pixels[i*4]) / 255; | |
var radius = stepSize * darkness; | |
ellipse(x, y, radius, radius); | |
} | |
} | |
} | |
///////////////////////////////////////////////////////////////// | |
// swap webcam | |
var capture; | |
function setup() { | |
createCanvas(640, 480); | |
// specify multiple formats for different browsers | |
capture = createCapture(VIDEO); | |
noStroke(); | |
fill(0); | |
} | |
function draw() { | |
background(255); | |
capture.loadPixels(); | |
var stepSize = round(map(mouseX, 0, width, 6, 32)); | |
for (var y=0; y<height; y+=stepSize) { | |
for (var x=0; x<width; x+=stepSize) { | |
var i = y * width + x; | |
var darkness = (255 - capture.pixels[i*4]) / 255; | |
var radius = stepSize * darkness; | |
ellipse(x, y, radius, radius); | |
} | |
} | |
} | |
///////////////////////////////////////////////////////////////// | |
// audio in | |
var input; | |
var analyzer; | |
function setup() { | |
createCanvas(640, 480); | |
// Create an Audio input | |
mic = new p5.AudioIn(); | |
// start the Audio Input. | |
// By default, it does not .connect() (to the computer speakers) | |
mic.start(); | |
} | |
function draw() { | |
background(200); | |
// Get the overall volume (between 0 and 1.0) | |
var vol = mic.getLevel(); | |
// Draw an ellipse with height based on volume | |
var h = map(vol, 0, 0.5, height, 0); | |
ellipse(width/2, h - 25, 50, 50); | |
} | |
///////////////////////////////////////////////////////////////// | |
// swap in mic with webcam | |
var capture; | |
var mic; | |
function setup() { | |
createCanvas(640, 480); | |
// specify multiple formats for different browsers | |
capture = createCapture(VIDEO); | |
noStroke(); | |
fill(0); | |
mic = new p5.AudioIn(); | |
mic.start(); | |
} | |
function draw() { | |
background(255); | |
capture.loadPixels(); | |
var stepSize = round(map(mic.getLevel(), 0, 0.5, 6, 32)); | |
for (var y=0; y<height; y+=stepSize) { | |
for (var x=0; x<width; x+=stepSize) { | |
var i = y * width + x; | |
var darkness = (255 - capture.pixels[i*4]) / 255; | |
var radius = stepSize * darkness; | |
ellipse(x, y, radius, radius); | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment