Canvas: Jak pobrać pozycję kursora myszy?
Opublikowano: 01.06.2023 - tagi: JavaScript Canvas Mysz Współrzędne
Jak pobrać współrzędne?
Żeby pobrać pozycję kursora myszy, w obrębie Canvas potrzebujesz dwa rodzaje informacji: pozycję kursora i pozycję płótna.
Pozycja (0, 0) oznacza lewy górny róg płótna.
Przykład działającego przykładu znajdziesz tutaj
Przykład
HTML:
<div>
<strong>X: <span id="x"></span></strong>
<br>
<strong>Y: <span id="y"></span></strong>
</div>
<br>
<canvas id="canvas" width="800" height="600"></canvas>
JavaScript:
const canvas = document.getElementById("canvas");
const context = canvas.getContext("2d");
const x = document.getElementById('x');
const y = document.getElementById('y');
context.fillStyle = '#000';
context.fillRect(0, 0, context.canvas.width, context.canvas.height);
canvas.addEventListener('mousemove', (e) => {
const canvasRect = canvas.getBoundingClientRect();
const posX = Math.round(e.clientX - canvasRect.left);
const posY = Math.round(e.clientY - canvasRect.top);
x.innerHTML = posX;
y.innerHTML = posY;
});
Mając informację o pozycji kursora: e.clientX i e.clientY oraz pozycji płótna: canvasRect.left i canvasRect.top możemy obliczyć pozycję kursora w Canvas. Zmienne: posX i posY.