|
Canvas события
Hi all))
Начал изучение canvas'a. Вот и хочу узнать как можно реализовать события для элементов canvas'a ? Искал в нете, везде фреймворки предлагают использовать. Никак не получается найти как вешать обработчики на элементы в канвасе. Вообще вроде насколько понял, такое не возможно. Надо получать координаты (клика к примеру) по всему холсту, и уже смотреть что за элемент по этим координатам находится, а как тогда это определить ? |
Хмм, вроде читал что Libcanvas хороший фреймворк.
Никто не может дать ссылок на документацию (у них сайт вроде не работает) или на статьи для новичков ? Читал эту и эту статьи и не получается((( Точнее примеры из статьи работают, а вот когда что то свое хочу сделать, то не работает. Есть у кого ссылки на хорошие статьи ? Или может кто предложит другой фремворк ? |
Libcanvas не кроссбраузерный, точнее в IE9- не работает., если вас это не напрягает, то библиотека довольно хорошая (простая, легкая), если же нужен кроссбраузерное решение, то наиболее активная аудитория у Raphaël.
Цитата:
|
Raphael - это вроде как больше в сторону SVG ?
|
как вариант только для для n-угольных фигур.
проводим от курсора к центру фигуры прямую. смотрим если прямая пересекает любой отрезок фигуры то соответственно курсор не внутри фигуры. если не пересекли то в фигуре. Надеюсь смысл понятен.;) |
UpJump,
Для n-угольных фигур я то предполагаю как, а вот для круга, не очень. Может есть формула какая то ? К примеру у нас координаты центра круга, его радиус и координаты клика ? |
(|[координаты ц. круга]-[к. курсора]|<R) => наведён на круг
|
ну посмотрите здесь к примеру
|
определить событие-легко
определить позицию указателя мыши на канве-легко . считать строку(линию) /либо необход колво строк из канвы по координате y мыши-легко в этой строке каждая точка представлена 4 байтами rgb+альфа считать нужную по координате х мыши -легко определить цвет её (возможно окружения её) -легко если цвет соответствует (либо последовательность) выполнить действие а на элементы канвы событие никак не повесишь. как вариант над канвой эрии создавать и обработчики на них вешать. |
а если картинка?:)
|
Часовой пояс GMT +3, время: 09:35. |
|