示例:http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_canvas_arc 我想了解如何使整个圆圈成为可点击的链接,我该如何捕获该元素? Canvas 内的事件如何运作?
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(100, 75, 50, 0, 2 * Math.PI);
ctx.stroke();
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
最佳答案
HTML5 Canvas 是基于光栅的,因此它只包含有关像素颜色的信息。出于您的原因,您应该使用一些基于矢量的技术,例如 SVG。
如果你真的想使用 Canvas ,你只需要知道光标下是否有任何东西,你可以检查点击像素的颜色:context.getImageData(x, y, 1, 1).data
它将返回 RGBA 值数组。因此,例如,您可以检查点击的像素是否不透明或不具有背景颜色。
检查它是如何工作的:
http://jsfiddle.net/5qt4hezb/1/
关于javascript - 如何捕获 Canvas 内的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30014416/