今天第一堂課老師先教我們使用Processing寫程式播放影片
先到libraries裡找到video|GStreamer-based video library for Processing並下載
就可以開啟loop的範例檔案
import processing.video.*;
Movie movie;
void setup(){
size(640,480);
movie = new Movie(this,"launch2.mp4");
movie.loop();
}
void draw(){
image(movie,0,0);
}
void movieEvent(Movie m){
m.read();
}
之後我們用攝影鏡頭
import processing.video.*;
Capture cam;
void setup(){
size(640,480);
cam=new Capture(this,640,480);
cam.start();
}
void draw(){
if (cam.available()) {
cam.read();
}
image(cam,0,0);
saveFrame();
}
在最後面加上saveFrame就可以把視訊內容錄下來了
之後再用第一堂課教的播放影片程式
就可以把剛剛錄下來的影片播放出來
void setup(){
size(640,480);
background(255,0,0);
}
void draw(){
println(frameCount);
}
void mousePressed(){
loadPixels();
for(int i=0;i<640*480/2;i++){
pixels[i]=color(0,255,0);
}
updatePixels();
saveFrame();
}
最後一堂課我們就利用前幾堂課教過的所有程式
寫出一個可以播放影片,按一下滑鼠就會暫停並且變色的程式
import processing.video.*;
Movie movie;
color[]c={#F0F0F0,#FFF160,#FFC501,#FE9600,#03001C};
int now=0;
void setup(){
size(640,480);
background(#F0F0F0);
movie = new Movie(this,"1234.mov");
movie.play();
}
void draw(){
if(movie.available()){
movie.read();
image(movie,0,0);
}
}
void mousePressed(){
movie.pause();
loadPixels();
for(int i=0;i<640*480;i++){
float bright = brightness(pixels[i]);
int now = 4-int(bright/67);
pixels[i]=c[now];
}
updatePixels();
}







沒有留言:
張貼留言