poster met random dingbats van Manfred Klein. terug naar de inleiding naar de poster in fullscreen
Toetsfuncties
toetsen "1" veranderen van de dingbats
toets "d" of "D" voor het downloaden van de poster
De schets maakt ook gebruik van de class "Text" met fontkeuze mogelijkheid en de superclass "Vormen"
random fonts en karakters kiezen
In de text class worden voor de linker en rechter kolom 8 (0 t/m 8) random fonts gekozen (regel 23 en 29)
In de text class worden voor de bovenste, middelste en onderste regel 13 (0 t/m 13) random fonts gekozen (regel 35, 41, en 48)
Voor ieder font worden random karakters uit het fontarray gekozen (regel 15 t/m 17)
//argumenten van de constructor: 1) tekst string, 2) lettergrootte, 3) draaipunt,
//4) x positie, 5) y positie, 6) hoek, 7) font 1 t/m 13, 8) letterkleur
//9) lijn dikte, 10) lijnkleur
fontL = []; fontR = [];
fontB = []; fontO = []; fontM = [];
fontarray = [];
function setup() {
createCanvas(windowWidth, windowHeight);
const x = width/2;
const y = height/2;
const n = height/30;
fontarray = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T",
"U","V","W","X","Y","Z","[","]","a","b","c","d","e","f","g","h","i","j","k","l",
"m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
const ld = n/2 //ld = lijndikte
const lg = 3*n //lg = lettergrootte
ruitjespap = new Ruitjes(n, x, y);
for (let i = 0; i < 8; i++)
{//constructor 1 2 3 4 5 6 7
fontL[i] = new Text(fontarray[int(random(50))], lg, 1, x-23*n,y-10*n+3*n*i,0,int(random(8)),
color(random(0, 225), random(0, 100), random(0, 100),250), //letterkleur
ld,color(random(0, 100), random(0, 250), random(0, 100),100)); //lijnkleur
}
for (let i = 0; i < 8; i++)
{//constructor 1 2 3 4 5 6 7
fontR[i] = new Text(fontarray[int(random(50))], lg, 5, x+23*n,y-10*n+3*n*i,0,int(random(8)),
color(random(0, 225), random(0, 100), random(0, 100),250), //letterkleur
ld,color(random(0, 100), random(0, 250), random(0, 100),100)); //lijnkleur
}
for (let i = 0; i < 13; i++)
{//constructor 1 2 3 4 5 6 7
fontB[i] = new Text(fontarray[int(random(50))], lg, 1, x-20*n+3*n*i,y-8*n,0,int(random(13)),
color(random(0, 225), random(0, 100), random(0, 100),250), //letterkleur
ld,color(random(0, 100), random(0, 250), random(0, 100),100)); //lijnkleur
}
for (let i = 0; i < 13; i++)
{//constructor 1 2 3 4 5 6 7
fontO[i] = new Text(fontarray[int(random(50))], lg, 2, x-20*n+3*n*i,y+7*n,0,int(random(13)),
color(random(0, 225), random(0, 100), random(0, 100),250), //letterkleur
ld,color(random(0, 100), random(0, 250), random(0, 100),100)); //lijnkleur
}
for (let i = 0; i < 13; i++)
{//constructor 1 2 3 4 5 6 7
fontM[i] = new Text(fontarray[int(random(50))], lg, 2, x-20*n+3*n*i,y-n,0,int(random(13)),
color(random(0, 225), random(0, 100), random(0, 100),250), //letterkleur
ld,color(random(0, 100), random(0, 250), random(0, 100),100)); //lijnkleur
}
//constructor 1 2 3 4 5 6 7
font1 = new Text('poster met dingbats van Manfred Klein',2*n,0,x,y-5*n,0,13,
color(random(0, 225), random(0, 100), random(0, 100),250), //letterkleur
ld,color(random(0, 100), random(0, 250), random(0, 100),100)); //lijnkleur
font2 = new Text('toets "1" voor andere dingbats',2*n,0,x,y+4*n,0,13,
color(random(0, 225), random(0, 100), random(0, 100),250), //letterkleur
ld,color(random(0, 100), random(0, 250), random(0, 100),100)); //lijnkleur
}
function draw() {
background(230,251,255);
// ruitjespap.display();
for(let i = 0; i < 8; i++)
{
fontL[i].display();
}
for(let i = 0; i < 8; i++)
{
fontR[i].display();
}
for(let i = 0; i < 13; i++)
{
fontB[i].display();
}
for (let i = 0; i < 13; i++)
{
fontO[i].display();
}
for (let i = 0; i < 13; i++)
{
fontM[i].display();
}
font1.display();
font2.display();
}
function windowResized() {
resizeCanvas(windowWidth, windowHeight);
}
function keyPressed() {
if (key == 'd' || key == 'D') {
save('dingbat_poster.png');
}
if (key == '1') {
setup();
}
}