Стирание или создание частей путей SVG прозрачными - PullRequest
1 голос
/ 05 марта 2012

Я недавно начал работать с путями SVG.Я использую JavaScript SVG и Canvas, чтобы позволить пользователю динамически рисовать с помощью мыши.

Одна из моих проблем заключается в том, что когда пользователь пытается рисовать по уже существующему пути, ему требуется некоторое время, чтобы перебрать его, Мне интересно, есть ли эффективный / более плавный способ сделать это.

Моя другая проблема заключается в удалении частей уже нарисованного SVG-пути.Я знаю, что могу использовать другой цвет (например, белый), чтобы переопределить путь, но если фоновое изображение существует, оно все равно будет маскировать части фона.Можно ли как-то отредактировать части пути, чтобы они стали прозрачными, или даже удалить его?

Я попытался получить цвет фона холста и нарисовать путь, используя этот цвет, но он получает только цветисходная точка.

Спасибо.

1 Ответ

1 голос
/ 27 апреля 2012

Решение, которое в настоящее время работает для меня, выглядит следующим образом.

  • В файле javascript создается массив.Также счетчик.

    var idArray = new Array();var idCounter = 0;

  • По мере создания пути идентификатор передается в массив.

    idArray.push(idCounter);

  • Затем с помощью "Name_of_path".attr('id',idCounter); устанавливается идентификатор пути.

  • Теперь, циклически перебирая идентификаторы с помощью счетчика i, i < idArray.length, вы можете найти, по какому пути щелкнулии удалите его.

    for(var i = 0;i<list.length;i++){$("#"+list[i]).click(function(){var v = "name_of_paper".getById($(this).id);$(this).remove();});

  • Также, определив класс id внутри стилей, вы можете изменить прозрачность.

Это решение просто полностью удаляет путь, у меня нет решения для удаленияЧасти пути пока нет.Просто обходной путь.

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