let shapes = [];
let bgColor;
let generateButton;
let saveButton;
function setup() {
let cnv = createCanvas(800, 800);
cnv.parent("canvas-container");
noLoop();
// Exit poga
let exitButton = createButton("Exit");
exitButton.position(240, 20);
exitButton.style("padding", "10px 20px");
exitButton.style("font-size", "16px");
exitButton.style("border-radius", "8px");
exitButton.style("border", "2px solid #333");
exitButton.style("background-color", "#ffd0d0");
// Ko Exit dara?
exitButton.mousePressed(() => {
window.location.href = "Darbi.html";
// vai, ja gribi aizvērt lapu:
// window.close();
});
// Generate poga — KREISAIS STŪRIS
generateButton = createButton("Generate");
generateButton.position(20, 20);
generateButton.style("padding", "10px 20px");
generateButton.style("font-size", "16px");
generateButton.style("border-radius", "8px");
generateButton.style("border", "2px solid #333");
generateButton.style("background-color", "#f0f0f0");
generateButton.mousePressed(generateArtwork);
// Save poga — blakus Generate
saveButton = createButton("Save");
saveButton.position(140, 20);
saveButton.style("padding", "10px 20px");
saveButton.style("font-size", "16px");
saveButton.style("border-radius", "8px");
saveButton.style("border", "2px solid #333");
saveButton.style("background-color", "#d0ffd0");
saveButton.mousePressed(() => saveCanvas('Abstraktā_Genēze_III', 'jpg'));
generateArtwork();
}
function generateArtwork() {
// Fona krāsa — maiga, nejauša
bgColor = color(
random(180, 240),
random(180, 240),
random(180, 240)
);
// Ģenerējam figūras
shapes = [];
for (let i = 0; i < 60; i++) {
shapes.push({
x: random(width),
y: random(height),
size: random(30, 200),
type: random(["circle", "line", "triangle"]),
rot: random(TWO_PI),
weight: random(2, 8),
col: color(random(40, 200), random(40, 200), random(40, 200), 180)
});
}
redraw();
}
function draw() {
background(bgColor);
for (let s of shapes) {
push();
translate(s.x, s.y);
rotate(s.rot);
stroke(s.col);
strokeWeight(s.weight);
noFill();
if (s.type === "circle") {
ellipse(0, 0, s.size, s.size);
} else if (s.type === "line") {
line(-s.size/2, 0, s.size/2, 0);
} else if (s.type === "triangle") {
triangle(
-s.size/2, s.size/2,
s.size/2, s.size/2,
0, -s.size/2
);
}
pop();
}
}