即使画布移动,如何获得画布的坐标?

时间:2018-08-17 19:56:32

标签: javascript canvas

请注意,有类似的讨论,有人试图找出图像的坐标。但是,提出的解决方案似乎不适用于我的情况。

我有一块画布。我在那张画布上画了几幅图像。为了能够单击图像并触发事件,我将检查用户是否通过mousedown事件单击了特定区域。我的clickevent是相对于画布的,因为当我踩入或踩出时坐标会发生变化。我现在需要的是一种找出画布坐标的方法,例如:

canvas=document.getElementById("myCanvas");
console.log(canvas.X);

如果您能帮助我,我先谢谢您。
祝你有美好的一天
亚历山大

1 个答案:

答案 0 :(得分:0)

您可以尝试MouseEvent.offsetXMouseEvent.offsetY。请注意,这些属性是experimental,但根据您的使用情况具有不错的兼容性。

除此之外,最好的方法是自己计算。您可以使用Element.getBoundingClientRect()获取画布的位置和大小。您可以使用MouseEvent.clientX(和clientY)获得单击时的鼠标位置。通过从鼠标位置减去画布的位置,可以计算出仅相对于画布的鼠标位置。