xxxxxxxxxx
59
let capture;
let index = 0;
function setup() {
createCanvas(640, 480);
// specify multiple formats for different browsers
sorted = createCapture(VIDEO);
sorted.size(640, 480);
sorted.hide();
noStroke();
//fill(0);
}
function draw() {
background(255);
sorted.loadPixels();
// Selection sort!
for (let n = 0; n < 1; n++) {
let record = -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 > record) {
selectedPixel = j;
record = b;
}
}
// Swap selectedPixel with i
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();
}