Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HTML5 Canvas - очистка линии, как удалить с холста только одну линию? 
:(
    Опции темы
alexandrnv
Дата 7.1.2011, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.10.2008

Репутация: нет
Всего: нет



Здравствуйте.

Меня интересует такая вещь: как удалить с холста отдельно взятую линию (нарисованную через ctx.lineTo()) ? 
Очистка холста полностью не подходит.
Рисование новой линии цветом фона поверх старой - тоже не подходит.
Приведу пример для чего мне это нужно: у меня на холсте рисуется граф. Звенья соеденины линиями. Звенья могут перемещаться (draggable) - соответственно нужно перерисовывать линии их соединяющие. 
При изменении положения звена нужно удалить/стереть старую линию, соединяющую два звена, и нарисовать новую. 
(Линии могут пересекаться друг с другом).

Можно ли удалить отдельную линию без перерисовки всего холста?

Я уже реализовал то, что мне нужно с помощью сторонней библиотеки Raphael (raphaeljs.com). Там линия ( paper.path() ) представляет собой объект, у которого есть метод remove(). Но я нехочу использовать целую библиотеку только для рисования линий. Поэтому хочу реализовать задачу на чистом html5 canvas api.

Заранее спасибо.
PM MAIL   Вверх
alexandrnv
Дата 15.1.2011, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.10.2008

Репутация: нет
Всего: нет



UP.
Никто не подскажет?
PM MAIL   Вверх
ksnk
Дата 15.1.2011, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Обычно все перерисовывают заново. Все линии. это быстро на быстрых компутерах с быстрым броузером  smile 
Можно рисовать на слоях - наложенных друг на друга канвасах. Но если хотеть иметь возможность отменить линии по одной - канвасов не напасешься...
Для драга можно из основного канваса выкидывать драгнутый элемент и рисовать его с его соединяющими линиями на отдельном слое. Так можно обойтись только двумя слоями.

С чего, как думаете, канвас не получил широкого распространения сразу после появления? Только ли из-за вредного дяди Билла?  smile  


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0594 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.