xxxxxxxxxx
var myImage;
var brush;
var btn;
var btnEnableDrawing;
var btnStepMode;
var isManualModeEnabled;
var isStepModeEnabled;
var x;
var y;
function preload() {
myImage = loadImage("vanbeethoven2.jpg");
brush = loadImage("brush4.png");
}
function setup() {
createCanvas(600, 750);
btn = createButton('Clear Canvas');
btn.position(0, 0);
btn.mousePressed(btnPressed);
btnEnableDrawing = createButton('Enable Manual Mode');
btnEnableDrawing.position(100, 0);
btnEnableDrawing.mousePressed(btnPressedManualMode);
btnStepMode = createButton('Enable Step Mode');
btnStepMode.position(245, 0);
btnStepMode.mousePressed(toggleStepMode);
isManualModeEnabled = false;
isStepModeEnabled = false;
}
function btnPressedManualMode() {
isManualModeEnabled = !isManualModeEnabled;
btnEnableDrawing.html(isManualModeEnabled ? 'Enable Automatic Mode' : 'Enable Manual Mode');
}
function toggleStepMode() {
isStepModeEnabled = !isStepModeEnabled;
btnStepMode.html(isStepModeEnabled ? 'Disable Step Mode' : 'Enable Step Mode');
}
function btnPressed() {
background(255);
}
function draw() {
noStroke();
if (isStepModeEnabled) {
return; // Skip automatic drawing in step mode
}
if (isManualModeEnabled) {
x = mouseX;
y = mouseY;
} else {
x = floor(random(0, myImage.width));
y = floor(random(0, myImage.height));
}
drawBrushAt(x, y);
}
function drawBrushAt(x, y) {
let pix = myImage.get(x, y);
push();
imageMode(CENTER);
angleMode(DEGREES);
translate(x, y);
rotate(random(360));
scale(random(0.1, 0.4));
tint(red(pix), green(pix), blue(pix), 100);
image(brush, 0, 0);
pop();
}
function keyPressed() {
if (isStepModeEnabled && key === 'r') {
drawRandomBrushes();
}
}
function drawRandomBrushes() {
for (let i = 0; i < 100; i++) {
let randX = floor(random(0, myImage.width));
let randY = floor(random(0, myImage.height));
drawBrushAt(randX, randY);
}
}