Выбирай будущее сам
Доска

Доска

<!doctype html>

Drawing Board




Drawing Board





const canvas = document.getElementById(«whiteboard»);
const context = canvas.getContext(«2d»);

let drawing = false;

canvas.addEventListener(«mousedown», () => {
drawing = true;
context.beginPath();
});

canvas.addEventListener(«mouseup», () => {
drawing = false;
context.closePath();
});

canvas.addEventListener(«mousemove», draw);

function draw(e) {
if (!drawing) return;

context.lineCap = «round»;

context.lineTo(
e.clientX — canvas.getBoundingClientRect().left,
e.clientY — canvas.getBoundingClientRect().top
);
context.stroke();
context.beginPath();
context.moveTo(
e.clientX — canvas.getBoundingClientRect().left,
e.clientY — canvas.getBoundingClientRect().top
);
}
const clearButton = document.getElementById(«clear-btn»);

clearButton.addEventListener(«click», () => {
context.clearRect(0, 0, canvas.width, canvas.height);
});
const colorPicker = document.getElementById(«color-picker»);

colorPicker.addEventListener(«input», (e) => {
context.strokeStyle = e.target.value;
});
const brushSizeInput = document.getElementById(«brush-size»);

brushSizeInput.addEventListener(«input», (e) => {
context.lineWidth = e.target.value;
});
body {
font-family: «Arial», sans-serif;
background-color: #f0f0f0;
margin: 0;
padding: 0;
}

header {
background: linear-gradient(135deg, #57efbf, #64a8e4);
color: #fff;
text-align: center;
padding: 20px 0;
}

.container {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 20px;
background: linear-gradient(125deg, #67a5f5, #f3bbe0, #64a0e4, #d364e4);
border-radius: 10px;
padding: 10px;
}

canvas {
background-color: #f4f0eb;
background-size: cover;
border: 1px solid #919396;
box-shadow: 0 10px 20px rgba(16, 16, 16, 0.567);
}

.controls {
margin-top: 10px;
}

label {
font-weight: bold;
margin-right: 5px;
color: #fff;
}

input[type=»color»],
input[type=»range»] {
margin-right: 10px;
}

button {
padding: 10px 20px;
background-color: #4be2ed;
color: #fff;
border: none;
cursor: pointer;
border-radius: 5px;
transition: background-color 0.3s ease;
}

button:hover {
background-color: #dac765;
}

button:focus {
outline: none;
}

error: Content is protected !!
Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять
Отказаться
Политика конфиденциальности