loadPixels, el array pixels[] y updatePixels

Hace un par de artículos vimos cómo lanzar un gran número de puntos a la pantalla y manipular su color. De hecho situamos un punto de un píxel de tamaño sobre cada píxel de la ventana.

En realidad hay una forma de hacerlo con más sencillez: leyendo cada píxel y alterando su color. Para ello usamos la función loadPixels(), que carga todos los píxeles de la ventana del programa. Luego utilizamos el array pixels[], que contiene a cada píxel cargado, y le asignamos un color más o menos aleatorio. Por último, la función updatePixels() actualiza esos colores.

  1. float r = 0;
  2. float g = 0;
  3. float b = 0;
  4.  
  5. void setup() {
  6.   size(500, 400);
  7. }
  8.  
  9. void draw() {
  10.   loadPixels();
  11.  
  12.   for (int i = 0; i < pixels.length; i++) {
  13.     //el valor de cada variable es menor al principio y mayor al final
  14.     r = int(random(i/500));
  15.     g = int(random(i/500));
  16.     b = int(random(i/500));
  17.     pixels[i] = color(r, g, b);
  18.   }
  19.  
  20.   updatePixels();
  21. }

Leave a Comment.