xxxxxxxxxx
let img;
let customFont;
function preload() {
img = loadImage('concrete.png'); // Path to the uploaded image
customFont = loadFont('CAMPUS PERSONAL USE.ttf'); // Replace with the path to your font file
}
function setup() {
createCanvas(800, 800);
background(img); // Set image as background
noFill();
stroke(255); // White lines
let cols = 5; // Number of columns
let rows = 4; // Number of rows
let circleGap = 150; // Distance between circles
let maxRadius = 60; // Maximum radius of concentric circles
for (let i = 0; i < cols; i++) {
for (let j = 0; j < rows; j++) {
let x = i * circleGap + circleGap / 2;
let y = j * circleGap + circleGap / 2;
let numCircles = int(random(4, 8)); // Random number of concentric circles
for (let k = 0; k < numCircles; k++) {
let radius = map(k, 0, numCircles, maxRadius, 5); // Concentric circles with decreasing radii
ellipse(x, y, radius * 2, radius * 2);
}
if (random() > 0.5) {
fill(0); // Black center circles
noStroke();
ellipse(x, y, 20, 20); // Draw solid center circle
noFill(); // Reset fill
stroke(255);
}
}
}
// Add centered text at the bottom
push();
fill(255);
noStroke();
textAlign(CENTER, CENTER);
textFont(customFont);
textSize(100);
text("Tln Design", width / 2, height - 150); // Adjusted position for better visibility
pop();
push();
fill(255);
noStroke();
textAlign(CENTER, CENTER);
textFont(customFont);
textSize(40);
text("...Soon to be Designer...", width / 2, height - 70); // Adjusted position for better visibility
pop();
push();
fill(255);
noStroke();
textAlign(CENTER, CENTER);
textFont(customFont);
textSize(30);
text("ENTAS", width / 2, height - 30); // Adjusted position for better visibility
pop();
}
function keyPressed() {
if (key == 's' || key == 'S') {
saveCanvas('talinakarvardar_computational-collage.jpg');
}
}