javascript - P5.js updatePixels() 不起作用

标签 javascript p5.js

我想将每个像素更新为红色,所以这是我的代码

const canvasWidth = 800
const canvasHeight = 600

function setup() {
  createCanvas(canvasWidth, canvasHeight)
  loadPixels()
  let xoff = 0
  for (let x = 0; x < canvasWidth; x++) {
    let yoff = 0
    for (let y = 0; y < canvasHeight; y++) {
      pixels[x + y * canvasWidth] = color('red')
      yoff += + 0.01;
    }
    xoff += 0.01
  }
  updatePixels()
}

但是代码好像不行

最佳答案

pixels 数组不保存这样的颜色值。 pixels 数组将颜色分成 4 个单独的索引,分别为红色、绿色、蓝色和 alpha。来自 the reference :

var pink = color(255, 102, 204);
loadPixels();
var d = pixelDensity();
var halfImage = 4 * (width * d) * (height / 2 * d);
for (var i = 0; i < halfImage; i += 4) {
  pixels[i] = red(pink);
  pixels[i + 1] = green(pink);
  pixels[i + 2] = blue(pink);
  pixels[i + 3] = alpha(pink);
}
updatePixels();

您可能会发现使用 set() 函数更容易,它接受 xycolor 参数:

const canvasWidth = 800
const canvasHeight = 600

function setup(){
    createCanvas(canvasWidth, canvasHeight);
    loadPixels();
    for (let x = 0; x < canvasWidth; x++) {
        for (let y = 0; y < canvasHeight; y++) {
            set(x, y, color('red'));
        }
    }
    updatePixels();
}

关于javascript - P5.js updatePixels() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47972989/

相关文章:

javascript - p5.j​​s createCanvas 不再渲染。 ngOnInit const 未被访问

javascript - 使用亚马逊支付,不显示 GetOrderReferenceDetails();

javascript - 将回调附加到 onauthStateChanged 监听器 firebase

javascript - 关闭使用表格行中的按钮打开的弹出窗口后,如何从javascript更改表格行的颜色

javascript - 鼠标拖动旋转

javascript - p5.j​​s 中的淡化尾随笔画

javascript - 如何将 p5.js Canvas 放置在 div 容器内?

javascript - 全局样式不适用于 Chrome 36 中 Polymer 元素中的 Shadow DOM 子元素

javascript - 如果用户关闭浏览器,则从数据库中删除数据

physics - ProcessingJS 物理模拟中的惯性和重力不准确