xxxxxxxxxx
// Preload the images
let coverImages = [];
function preload() {
for (let i = 0; i <= 9; i++) {
coverImages.push(loadImage("cover" + i + ".png"));
}
}
function setup() {
size = min(windowWidth, windowHeight);
createCanvas(size, size);
// Choose a random cover image
let cover = coverImages[floor(random(coverImages.length))];
// List of album names
let albumNames = ["Creep On Me",
"Chapters",
"Days Are Gone",
"Black Panther",
"I Can Make You",
"Distraction",
"Satellite",
"Scorpion",
"The Temper Trap",
"Pala"];
// List of 50 random names in one row
let randomNames = ["Aaliyah", "Aaron", "Abby", "Abdul", "Abigail", "Abraham", "Ada", "Adam", "Adan", "Addie", "Adela", "Adelbert", "Adeline", "Adolfo", "Adolph", "Adrian", "Adriana", "Adrianna", "Adrienne", "Agnes", "Agustin", "Ahmad", "Ahmed", "Aidan", "Aiden", "Aileen", "Aimee", "Aisha", "Aiyana", "Akeem", "Alaina", "Alan", "Alana", "Alanna", "Alayna", "Albert", "Alberta", "Alberto", "Albin", "Alden", "Alec", "Alejandra", "Alejandro", "Alena", "Alfonso", "Alfonzo", "Alfred", "Alfreda", "Alfredo", "Ali", "Alice", "Alicia", "Alisa", "Alisha", "Alison", "Alivia", "Aliya", "Aliyah", "Aliza", "Allan", "Allen", "Allie", "Allison", "Ally", "Alphonso", "Alta", "Althea", "Alva", "Alvina", "Alvin", "Alycia", "Alysa", "Alysha", "Alyson", "Alysson", "Amalia", "Amanda", "Amara", "Amari", "Amaya", "Amber", "Amelia", "Amelie", "America", "Amie", "Amir", "Amira", "Amiya", "Amos", "Amy", "Amya", "Ana", "Anabel", "Anabelle", "Anahi", "Anais", "Anastasia", "Anderson", "Andre", "Andrea", "Andres", "Andrew", "Andy", "Angel", "Angela", "Angelica", "Angelina", "Angeline", "Angelita", "Angelo", "Angie", "Angus", "Anibal", "Anika", "Anissa", "Anita", "Aniya", "Aniyah", "Anjali", "Anna"];
// choose a random album name
let albumName = albumNames[floor(random(albumNames.length))];
// draw the album name
push();
for (let i = 0; i < 10; i++) {
let c = cover.get(random(0, size), random(0, size));
fill(c);
noStroke();
textSize(random(1000,3000));
textAlign(CENTER, CENTER);
text(albumName, random(-size,size), random(0,size));
}
pop();
// draw a grid of rectangles
var gridSize = 4;
let w = size / gridSize;
let h = size / gridSize;
for (let x = 0; x < gridSize; x++) {
for (let y = 0; y < gridSize; y++) {
// Get the color of the pixel at this position in the cover image
let c = cover.get(x * w + random(0,50), y * h + random(0,50));
if ( random(0,1) > 0.5) {
// Draw a rectangle with this color from cover image
push();
noStroke();
fill(c);
rect(x * w, y * h, w, h);
pop();
}
}
}
let rectW = size / gridSize;
push();
fill(0);
rect(0, size - rectW, size, rectW);
pop();
// print the album name
push();
fill(255);
noStroke(255);
textSize(size/10);
textAlign(LEFT, CENTER);
text(randomNames[floor(random(randomNames.length))], size/20, size/2 - size/6.6, size, size);
textSize(size/20);
text(albumName, size/20, size/2 - size/12, size, size);
pop();
}
// **************************
// * Save png *
// **************************
function keyTyped() {
if (key == "s" || key == "S") save("Title" + int(random(0, 1000)) + ".png");
}