【发布时间】:2018-11-12 01:28:01
【问题描述】:
我正在使用视频输入在画布上进行绘制,以获取画布中间像素的颜色。
使用最近的代码,我获得了像素颜色并将其作为颜色值传递以绘制一条线。这条线应该从左到右运行,将视频的不同颜色绘制到画布上,并与每一行相加。但是该行似乎被每一帧覆盖。仅显示一条从左向右移动的行。有人可以帮助我了解为什么以及如何改变这种行为吗?
非常感谢您。
let movie;
let playButton;
let movieInput = "/public/IMG_1569.m4v";
var playing = false;
function setup() {
let canvas = createCanvas(534, 300);
pixelDensity(1);
movie = createVideo(movieInput);
movie.size(width, height);
playButton = createButton("play").addClass("button");
playButton.mouseClicked(playVideo);
}
function draw() {
if (playing) {
movie.loadPixels();
var i = image(movie, 0, 0, width, height);
let pixelColor = get(width / 2, height / 2);
background(255);
let px = frameCount % width;
stroke(pixelColor);
var fineLine = line(px, 0, px, height);
}
}
function playVideo() {
if (playing) {
movie.pause();
playButton.html("play");
} else {
movie.play();
playButton.html("pause");
}
playing = !playing;
}
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/public/style.css">
<title>p5.js example</title>
</head>
<body>
<h1>p5 no.1</h1>
<script src="/lib/p5.js"></script>
<script src="/lib/p5.dom.js"></script>
<script src="/sketch.js"></script>
</body>
</html>
【问题讨论】:
标签: javascript p5.js