Получить координаты линии в Javascript - PullRequest
1 голос
/ 13 июля 2011

Я рисую линии, используя Canvas (HTML 5), поскольку линии / фигуры не сохраняются как объекты в Canvas, я не могу прикрепить к нему уникальные события (например, onmouseclick)

Я хочу прикрепить событие onmouseoverк линии, это возможно, узнав, находится ли мышь над определенной линией (используя ее координаты 2 X и 2 Y) в Canvas, используя Javascript.Будет ли это работать для разной ширины линии (например, 2,5 пикселя)

Хотите избежать использования SVG, поскольку весь проект построен на Canvas

Пожалуйста, совет

Ответы [ 3 ]

0 голосов
/ 13 июля 2011

Есть функция isPointInPath (x, y) . Он вернет истину, если точка находится на текущем пути. Вам нужно будет вызывать это для каждой линии, которую вы хотите проверить, и лучший способ сделать это в то же время, когда вы рисуете.

0 голосов
/ 29 июля 2011

Лучший способ - это использовать некоторые фреймворки Canvas.Посмотрите на " LibCanvas :: Создание линий " (не забудьте dblClick на canvas)

0 голосов
/ 13 июля 2011

Вам потребуется использовать математические формулы для вычисления площади линии и того, пересекает ли ее определенная точка.

Вот базовый пример:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...