const config = {
width: 350,
height: 200,
lineWidth: 5,
strokeStyle: 'red',
lineCap: 'round',
}
const canvas = document.querySelector('canvas');
console.log(canvas);
canvas.width = config.width;
canvas.height = config.height;
canvas.style.border = '1px solid #ccc';
const ctx = canvas.getContext("2d");
ctx.fillStyle = '#cfcfcf';
ctx.fillRect(0, 0, config.width, config.height);
const client = {
offsetX: 0,
offsetY: 0,
endX: 0,
endY: 0,
}
const start = (evt) => {
const { offsetX, offsetY, pageX, pageY } = evt;
console.log(offsetX, offsetY, pageX, pageY);
client.offsetX = offsetX;
client.offsetY = offsetY;
client.endX = pageX;
client.endY = pageY;
ctx.beginPath();
ctx.lineWidth = config.lineWidth;
ctx.strokeStyle = config.strokeStyle;
ctx.moveTo(client.endX, client.endY);
window.addEventListener('mousemove', draw);
}
const draw = evt => {
const { pageX, pageY } = evt;
client.endX= pageX;
client.endY= pageY;
ctx.lineTo(pageX, pageY);
ctx.stroke();
}
const closeDraw = evt => {
ctx.closePath();
window.removeEventListener('mousemove', draw);
}
window.addEventListener('mousedown', start, false);
window.addEventListener('mouseup', closeDraw, false);