Spostamento di pixel del canvas

    let bitmap;

function preload() {
    bitmap = loadImage("eyes_bn.jpg");
}

function setup() {
    createCanvas(670,300);
}

function draw() {
    background( 0, 4 );

    shearX( sin(frameCount/40) / 6 );

    blendMode( LIGHTEST );
    image( bitmap, 0, 0 );
    blendMode( BLEND );

    filter( DILATE );

    // SPOSTAMENTO DI BLOCCHI DI PIXEL //////////////////////////
    let img = get( random(width),random(height),       
                   random(1,width),random(1,height) );
    image( img, random(width),random(height) );
}
  

  

Legge e memorizza (in img) una porzione rettangolare del contenuto del canvas. La posizione della porzione viene ricavata a caso fra quelle valide nel canvas. Le dimensioni andranno da 1x1 pixel alla dimensione massima del canvas.


  

Disegna in una posizione a caso la porzione di canvas ricavata (img).

 

Al posto di usare le istruzioni get() è image() si potrebbe usare la sola istruzione copy():


  

Con alcune versioni della libreria p5.js l’uso di molte istruzioni copy() sembra essere meno efficiente dell’uso delle istruzioni get() e image().