xxxxxxxxxx
25
// InvertVideoPixelArray (c) 2015, 2021 kouichi.matsuda@gmail.com
let video;
function setup() {
createCanvas(640, 320);
video = createVideo("movie.webm");
video.hide(); // 動画を表示しない
video.loop();
}
function draw() {
video.loadPixels(); // pixels配列にピクセルを読みこむ
var pixels = video.pixels;
for(var y = 0; y < video.height; y++) {
for(var x = 0; x < video.width; x++) {
var i = (x + y * video.width) * 4; // 配列の添え字を計算する
pixels[i + 0] = 255 - pixels[i + 0]; // ピクセルの色を反転する
pixels[i + 1] = 255 - pixels[i + 1];
pixels[i + 2] = 255 - pixels[i + 2];
}
}
video.updatePixels(); // pixels配列の内容をバッファに反映する
image(video, 0, 0, width, height);
}