Цитата:
Цитата:
Нашел бы я ее утром, наверное бы не заморачивался насчет этого всего)) У меня у самого сейчс скоро фреймворк получится, с утра подсел на изучение, называется "решил сделать просто пару функций для удобства", сейчас чую такая махина получится :D Хотя не факт что она везде будет работать, но ниче, зато практика будет, да и я всегда мечтал сделать какой то фреймворк)))) |
Перефразируя известную пословицу: "Каждый программист должен в жизни сделать три вещи: посадить дерево, вырастить сына, написать свой фреймворк" :D
|
dmitriymar,
А что можно придумать что бы определять клик по кривому элементу ? Ареа же позволяет рисовать только круги, квадраты и полигоны. |
Цитата:
http://htmlbook.ru/html/area/shape она позволяет рисовать любую фигуру по заданным точкам(любое количество точек)-хоть круг ,овал из них нарисуй |
Да, но при рисование на канвасе я же не знаю все эти точки ?
К примеру вот рисует пол круга: ctx.arc(20, 20, 10, 10, Math.PI*2, true); При наличие этих данных мы же не сможем нарисовать арию ? |
посмотри функции какие я тебе дал ранее для канвы. переноси точки с канвы в эрию -координаты и там и там одинаковые будут
|
Да я прочитал про них (getImageData, putImageData). Но они как я понила позволяют узнать цвет определенной области ? Как мне с помощью них узнать точки границ элемента ?
|
ты считываешь линию (несколько линий)из канвы -при этом считывании ты явно знаешь у-поскольку считываешь с помощью его линию.
узнать х-вся линия это ширина канвы *4(поскольку для каждой точки 4 байта) находишь точку по цвету -узнаёшь и х соответственно. итого у и х у тебя есть а начальные х и у для начала поиска ты знаешь либо когда строишь либо координаты мыши для действий каких планируешь. проходишь по окружению находишь все точки-копируешь их в эрию я бы поступил не так-создал бы двумерный массив(условно) по размерам канвы при построении фигуры проходил бы по канве находил бы точки ставил бы на их месте флаги в массиве(допустим еденицы-можно индикатор цвета-решится проблема с наложением если обыграть наложения трёхмерным массивом)-если на их месте нет флага -то это точки новой фигуры строил бы по ним эрию соответственно решена проблема с закраской. контур в эрию прекинуть.и затем закраску в массиве тоже отметить |
Почитал эту статью и взглянул на код фреймворка от DreamTheater (вроде такой же подход отлова событий используется как и в статье).
И никак не могу понять как там отлавливаются события для элемента (вроде рисуется как обычно, не могу догнать как запоминается элемент :) ), и каковы плюсы такого подхода в отличии от использования эрии ? |
я так полагаю этим:
context.isPointInPath(event.mouseX, event.mouseY) ЗЫ и откуда эта мода пошла строка кода - 4 строки комментов.... |
Часовой пояс GMT +3, время: 21:21. |