xxxxxxxxxx
function setup() {
createCanvas(w=720, w);
color_pat = [ ["#2E294E", "#541388", "#F1E9DA", "#FFD400", "#D90368"],
];
color_pat = shuffle( random(color_pat) );
background(color_pat[4]);
stroke_color = color_pat[3];
dango_img = draw_dango();
txt_img = draw_text();
imageMode(CENTER);
image(dango_img, w/2, w/2);
image(txt_img, w/2, w/2);
}
function draw_dango(){
let img = createGraphics(w, w);
img.colorMode(HSB);
img.stroke(stroke_color);
img.strokeWeight(w/100);
let size = height/5.5;
img.push();
img.translate(w/2, w/2);
img.line(0, -size*1.8, 0, size*2);
img.push();
img.translate(0, 0);
dango(img, size, color_pat[0]);
img.pop();
img.push();
img.translate(0, -size);
dango(img, size, color_pat[1]);
img.pop();
img.push();
img.translate(0, size);
dango(img, size, color_pat[2]);
img.pop();
img.pop();
return img;
}
function draw_text(){
let img = createGraphics(w, w);
img.colorMode(HSB);
img.stroke(stroke_color);
img.strokeWeight(w/100);
img.fill(0,0);
img.rect(w*0.05, w*0.05, w*0.9, w*0.9);
//text
img.colorMode(RGB);
img.push();
let tsize = height/20;
img.textSize(tsize);
img.textStyle(BOLD);
img.rectMode(CENTER);
img.strokeWeight(0);
let title = `団子三色兄弟`;
img.push();
img.translate(w*0.25, w*0.05);
img.erase();
img.fill(255);
img.rect(0, 0, tsize*(title.length+0.75), tsize);
img.noErase();
img.fill(stroke_color);
img.textAlign(CENTER, CENTER);
img.text(title, 0, 0);
img.pop();
tsize = height/28;
img.textSize(tsize);
title = `Dango 3 colors brothers`;
img.push();
img.translate(w*0.675, w-w*0.05);
img.erase();
img.fill(255);
img.rect(0, 0, tsize*(title.length/2+2.5), tsize);
img.noErase();
img.fill(stroke_color);
img.textAlign(CENTER, CENTER);
img.text(title, 0, 0);
img.pop();
img.pop();
return img;
}
function dango(img, size, fcolor){
img.push();
img.translate(0, 0)
img.fill(fcolor);
img.ellipse(0, 0, size);
face(img, size);
img.pop();
}
function face(img, size){
img.push();
img.fill(stroke_color);
img.ellipse(size/8*2, -size/10, size/14);
img.ellipse(-size/8, -size/10, size/14);
img.fill(0,0);
img.arc(size/8, size/20, size/10*1.25, size/10, -PI/2*1.25, PI/2*1.25);
img.arc(size/8*0.6, size/16*3.5, size/4, size/10, 0, PI);
img.pop();
}
//save PNG
function keyPressed() {
save("img_" + month() + day() + hour() + minute() + second() + ".png");
}