xxxxxxxxxx
69
let cam;
let pxSize = 10;
let isDarkMode = false; // 다크 모드 여부를 저장하는 변수
function setup() {
createCanvas(900, 600);
pixelDensity(1);
cam = createCapture(VIDEO, { flipped: true });
cam.size(90, 60);
cam.hide();
noStroke();
}
function draw() {
// 현재 모드에 따라 배경색 설정
if (isDarkMode) {
background(0); // 다크 모드: 검은색 배경
} else {
background(255); // 기본 모드: 흰색 배경
}
cam.loadPixels();
for (let x = 0; x < cam.width; x++) {
for (let y = 0; y < cam.height; y++) {
let i = 4 * (x + y * cam.width);
let r = cam.pixels[i + 0];
let g = cam.pixels[i + 1];
let b = cam.pixels[i + 2];
let c = color(r, g, b);
let bright = brightness(c);
// 현재 모드에 따라 선 색상 설정
if (isDarkMode) {
if (bright > 75) {
stroke("#444444");
} else if (bright > 50 && bright <= 75) {
stroke("yellow");
} else if (bright > 25 && bright <= 50) {
stroke("cyan");
} else {
stroke("magenta");
}
} else {
if (bright > 75) {
stroke("#EAEAEA");
} else if (bright > 50 && bright <= 75) {
stroke("#A2A2A2");
} else if (bright > 25 && bright <= 50) {
stroke("#626262");
} else {
stroke("black");
}
}
strokeWeight(1);
line(x * pxSize + pxSize, y * pxSize, x * pxSize, y * pxSize + pxSize);
line(x * pxSize, y * pxSize, x * pxSize + pxSize, y * pxSize + pxSize);
}
}
}
// Enter 키를 누를 때 모드 전환
function keyPressed() {
if (keyCode === ENTER) {
isDarkMode = !isDarkMode; // 다크 모드 상태 전환
}
}