我想检测使用路径绘制的画布元素的点击次数。到目前为止,我已经想到在javascript数据结构中存储元素路径,然后检查匹配元素坐标的命中的坐标。我相信有一种算法已经可以用于搜索。当元素数量较大时,渲染每个元素路径并检查命中将是低效的。有人能指出我吗?
答案 0 :(得分:1)
JavaScript canvas上下文有一个isPointInPath方法。
http://www.w3schools.com/html5/canvas_ispointinpath.asp
如果您想实现自己的Point In Polygon算法,请查看Wikipedia页面
http://en.wikipedia.org/wiki/Point_in_polygon#Point_in_polygon_queries
答案 1 :(得分:0)
退出一些j =正在执行的库,例如:
paper.js http://paperjs.org/
fabric.js http://fabricjs.com/
kenetic.js http://kineticjs.com/
我建议您检查代码库或构建在这些代码库之上。