Javascript 如何测试一个点是否是二次Bé;齐尔曲线?
我在HTML5画布上用JavaScript绘制了一个形状:Javascript 如何测试一个点是否是二次Bé;齐尔曲线?,javascript,html,math,canvas,Javascript,Html,Math,Canvas,我在HTML5画布上用JavaScript绘制了一个形状: ctx.beginPath(); ctx.moveTo(25,0); ctx.quadraticCurveTo(50,50,40,100); ctx.lineTo(33,100); ctx.quadraticCurveTo(50,50,20,0); ctx.fill(); ctx.closePath(); 如果单击我的画布,我如何检测到我单击了此形状 canvas.addEventListener("click",function(e
ctx.beginPath();
ctx.moveTo(25,0);
ctx.quadraticCurveTo(50,50,40,100);
ctx.lineTo(33,100);
ctx.quadraticCurveTo(50,50,20,0);
ctx.fill();
ctx.closePath();
如果单击我的画布,我如何检测到我单击了此形状
canvas.addEventListener("click",function(e){
alert(isItPartOfTheShape(e.clientX,e.clientY));
})
function isItPartOfTheShape(x,y){
/* Here comes the code which detects is it part of the shape */
return isIt;
}
你有两个选择
context.isPointInPath
,但在执行测试时需要重新生成形状(该函数仅根据当前路径检查指定点,即调用fill
将填充的路径)可能重复的感谢,iPointInPath是我需要的:)