xxxxxxxxxx
70
let img;
let sorted;
let index = 0;
let frameP;
function preload() {
img = loadImage("robot.jpg");
}
function setup() {
createCanvas(img.width, img.height);
sorted = createImage(img.width, img.height);
sorted = img.get();
sorted.loadPixels();
console.log("image copied");
frameP = createP(frameRate());
}
function draw() {
frameP.html("frameRate: " + nf(frameRate(), 2, 2));
for (let n = 0; n < 1; n++) {
let rec = -1;
let selectedPixel = index;
for (let j = index; j < sorted.pixels.length; j+=4) {
let pix = color(
sorted.pixels[j],
sorted.pixels[j + 1],
sorted.pixels[j + 2],
sorted.pixels[j + 3]
);
let b = hue(pix);
if (b > rec) {
selectedPixel = j;
rec = b;
}
}
let temp = [];
temp[0] = sorted.pixels[index];
temp[1] = sorted.pixels[index + 1];
temp[2] = sorted.pixels[index + 2];
temp[3] = sorted.pixels[index + 3];
sorted.pixels[index] = sorted.pixels[selectedPixel];
sorted.pixels[index + 1] = sorted.pixels[selectedPixel + 1];
sorted.pixels[index + 2] = sorted.pixels[selectedPixel + 2];
sorted.pixels[index + 3] = sorted.pixels[selectedPixel + 3];
sorted.pixels[selectedPixel] = temp[0];
sorted.pixels[selectedPixel + 1] = temp[1];
sorted.pixels[selectedPixel + 2] = temp[2];
sorted.pixels[selectedPixel + 3] = temp[3];
if (index < sorted.pixels.length - 1) {
index+=4;
}
}
sorted.updatePixels();
background(0);
image(img,0,0);
image(sorted, 0, 0);
noStroke();
fill(255);
}