比方说,我在HTML5画布画成这样的行:查找点是否在一条线上
...
ctx.beginPath();
ctx.moveTo(x,y);
ctx.lineTo(x1,y1);
ctx.closePath();
...
我想找出是否鼠标点击事件发生在这条线上,而我的代码像这样:
var handleMouseDown = function(e) {
var coords = translateCoords(e.x,e.y);
...
if (ctx.isPointInPath(coords.x, coords.y) {
...
现在,这个代码在圈&矩形,而不是行的情况下,罚款。我有两个问题:
我的想法是,也许在一行上调用closePath()是不正确的。问题 - 如何检查鼠标停止事件是否发生在这条线上?
我该如何扩展这个以查找是否发生了鼠标向下的事件附近这一行?
谢谢 - 梦幻般的答案,真的很感谢你的帮助! – appa
嗯,虽然这对线条很好用,但我想我需要一个不同的解决方案来处理其他一维路径,例如弧线或曲线。下面的解决方案可能会更好地工作。 – appa