代码之家  ›  专栏  ›  技术社区  ›  DUK

p5.js访问个人像素值

  •  0
  • DUK  · 技术社区  · 7 年前

    我需要访问的生活画布有一个模式(形状)从用户输入绘制个别像素值。

    就像跟在后面一样,

    function draw(){
    stroke(255);
    if (mouseIsPressed == true) {
       if(mouseX != old_mX || mouseY != old_mY)
          {
            obstacle[obstacle.length] = [mouseX, mouseY];
            //line(mouseX, mouseY, pmouseX, pmouseY);
            old_mX = mouseX;
            old_mY = mouseY;
          }
     }
          fill(255);
          beginShape();
          for(i = 0; i < obstacle.length;i++){
            vertex(obstacle[i][0],obstacle[i][1]);
          }
        endShape();
    }
    

    绘制完成后,需要访问各个像素值

    function keyTyped() {
    
        if ( key == 'n')
          {
          obstacle = []
          }
    
        if( key == 'd'){
          loadPixels();
          //rest of the action
          updatePixels();
        }}
    

    问题是loadPixels();没有用正确的值加载数组,加载的数组更像是包含随机模式的随机数组

    是否有正确的方法访问像素?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Wes Lord Breton    7 年前

    pixels[] 正常情况下。我想问题可能是你对“正常”的期望。

    https://p5js.org/reference/#/p5/pixels :

    所以,如果你跑 loadPixels()

    console.log(pixels);
    -> [0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255...]
    


    第二个像素有0红,0绿,0蓝,255 alpha,然后。。。