Я использую p5. js Веб-редактор, и я новичок в кодировании! Мне нужна помощь!
Я создал код, который применяет некоторые эффекты к моей веб-камере, делая его похожим на The Coding Trains Brightness Mirror . Это все отлично работает! Теперь я взял этот фрагмент кода и сделал его собственной функцией "Video_graphi c". В разделе рисования я сделал это текстурой "texture (Video_graphi c);" - это похоже на работу. Однако, я поставил «box (100)», который технически должен работать, но там написано, что width не определена в консоли .... Я добавил «box (100,100)» и без разницы.
Я думаю, что это может быть связано с проблемами масштабирования. Я думаю, что должно быть простое решение, но не знаю, как к нему подойти! ниже приведен код кода, в котором, по-моему, проблема возникает, посмотрите на ссылки для контекста - СПАСИБО В ADVANCE оригинальном зеркале -> https://editor.p5js.org/beth_osullivan/sketches/sGpke6LIF Попытка сделать зеркало текстурой -> https://editor.p5js.org/beth_osullivan/sketches/awvhSwcbt
function draw (){ // start draw
texture (video_graphic);
box (200); // this is where it says the issue is - with the width of the Box
}// End Draw
/////////////////////////////////////////////////////////////////////////
// video_graphic Function
/////////////////////////////////////////////////////////
function video_graphic (scale){
// 5. Use of External Code - Daniel Shiffman (referenced above)
// 1. Iterations --> nested loop accessing pixels by array
for(let y = 0; y < cam.height; y++){
for(let x = 0; x < cam.width; x++){
var index = (cam.width - x +1 + (y * cam.width)) * 4;
var r = cam.pixels[index+0];
var g = cam.pixels[index+1];
var b = cam.pixels[index+2];
var bright = (r+g+b) / 3; // making grayscale by averaging
var threshold = slider.value();
//var threshold = 135;
// changing colours based brightness values
if (bright > threshold) {
fill (r1,g1,b1); // this makes the white blocks change colour every click - see mousePressed
//fill(255)
} else {
fill (0);
}
noStroke();
//stroke ();
//rectMode(CENTER); // makes the sqaures grow from center rather than top left corner
rect(x*vScale, y*vScale, vScale, vScale);
} // end for loop x
} // end for loop y
}