xxxxxxxxxx
// Lomz 2023
// kolorfon v2.0
// https://www.lomz.net
var palette = [10, 22, 33, 44, 55, 66, 77, 255];
var dens;
function setup() {
size = min(windowWidth, windowHeight);
createCanvas(size, size);
background(255);
pixelDensity(4);
dens = pixelDensity();
// create a 10 rectangles in random position and size and use color from palette
for (var i = 0; i < int(random(50)); i++) {
push();
var x = random(size/3 - size/4, size/3 + size/4);
var y = random(size/3 - size/4, size/3 + size/4);
var w = random(size/10, size/2);
var h = random(size/10, size/2);
var c = random(palette);
// make random rotation
translate(x, y);
rotate(random(0, 360));
translate(-x, -y);
// draw rectangle
noStroke();
fill(c,c,c);
rect(x, y, w, h);
pop();
}
// create a 10 rectangles in random position and size and use color from palette
for (var i = 0; i < int(random(40)); i++) {
push();
var x = random(size/3 - size/4, size/3 + size/4);
var y = random(size/3 - size/4, size/3 + size/4);
var w = random(size/50, size/20);
var h = random(size/2, size/20);
var c = random(palette);
// make random rotation
translate(x, y);
rotate(random(0, 360));
translate(-x, -y);
// draw rectangle
noStroke();
fill(c);
rect(x, y, w, h);
pop();
}
// draw a cicrle in random postion 1000 times and for color use get() function to get color from same random position
for (var i = 0; i < 2000; i++) {
push();
var x = random(size);
var y = random(size);
var c = get(x, y);
fill(c);
noStroke();
circleSize = random(size/200, size/10);
circle(x, y, circleSize);
pop();
}
//grain
push();
imgGrain = createImage(width, height);
imgGrain.loadPixels();
for (let i = 0; i < dens * (width * height); i += dens) {
grc = color(random(255));
imgGrain.pixels[i] = red(grc);
imgGrain.pixels[i + 1] = green(grc);
imgGrain.pixels[i + 2] = blue(grc);
imgGrain.pixels[i + 3] = alpha(grc);
}
imgGrain.updatePixels();
tint(255,20);
image(imgGrain, 0, 0, width, height);
pop();
}
function draw() {
}
// **************************
// * Save png *
// **************************
function keyTyped() {
if (key == "s" || key == "S") save("Title" + int(random(0, 1000)) + ".png");
}