【发布时间】:2021-03-14 14:03:19
【问题描述】:
所以我有了这个小项目和代码,
https://jsfiddle.net/Urrby/bhdx6o3L/
问题是我无法让线与鼠标尖端匹配,光标和绘制的线之间总是有空间。我知道这已经被问了 100 次,但我不明白如何调整画布和窗口和鼠标位置的大小以匹配。我不只是在寻找解决方案,如果有人可以将其简化并解释为什么这不起作用,以及我必须解决的问题是什么,那就太好了。我真的迷路了。
这是JS代码
let coord = { x: 0, y: 0 };
function resize() {
ctx.canvas.width = window.innerWidth;
ctx.canvas.height = window.innerHeight;
}
function start(event) {
document.addEventListener("mousemove", draw);
reposition(event);
}
function reposition(event) {
coord.x = (event.clientX - canvas.offsetLeft);
coord.y = (event.clientY - canvas.offsetTop);
}
function stop() {
document.removeEventListener("mousemove", draw);
}
function draw(event) {
ctx.beginPath();
ctx.moveTo(coord.x, coord.y);
reposition(event);
ctx.lineTo(coord.x, coord.y);
ctx.stroke();
}
提前感谢您的帮助。
【问题讨论】:
标签: javascript canvas html5-canvas offset