function draw(p) {
let line = 0;
return () => {
const img = mutable image;
const w = img.width;
const h = img.height;
line += 1;
if (line == h) {
return
}
img.loadPixels();
for (let i = 0; i < w * 4; i += 4) {
let gray =
0.2989 * img.pixels[line * w * 4 + i ] +
0.587 * img.pixels[line * w * 4 + i + 1] +
0.114 * img.pixels[line * w * 4 + i + 2];
img.pixels[line * w * 4 + i] = gray;
img.pixels[line * w * 4 + i + 1] = gray;
img.pixels[line * w * 4 + i + 2] = gray;
}
img.updatePixels();
p.image(img, 0, 0);
};
}