我想在处理过程中使用MOVIE类创建一个简单的过滤器。但是,我的电影大小有问题。过滤器正在进行中,请不要评价我:)
import processing.video.*;
Movie theMov;
int size;
void setup() {
theMov = new Movie(this, "fargo.mp4");
theMov.play();
theMov.read();
size(displayWidth, displayHeight);
noStroke();
size = 10;
}
void draw() {
//image(theMov, 0, 0, width, height);
theMov.loadPixels();
for (int i = 0; i < theMov.width; i+=size) {
for (int j = 0; j < theMov.height; j+=size) {
color c = theMov.pixels[i+j*theMov.width];
fill(c);
rect(i, j, size, size);
}
}
updatePixels();
size = (int)random(10, 20);
}
void movieEvent(Movie m) {
m.read();
}
如果我希望电影全屏,我该怎么做?因为它现在只填充屏幕的一小部分。我想要的是能够全屏渲染电影,以便loadPixels()函数加载电影全屏。
答案 0 :(得分:1)
因为你是&#34;画&#34;每个框架矩形矩形你可以简单地计算新的&#39;&#39;位置&#39;和&#39;尺寸&#39;对于这些矩形:
float ratioX = (float)width / theMov.width;
float ratioY = (float)height / theMov.height;
根据您的宽高比,您应该更改此计算。然后简单的绘制矩形与新的&#39;大小&#39;在新的&#39;位置&#39;:
rect(i * ratioX, j * ratioY, size * ratioX, size * ratioY);