我最近开始使用SVG路径。我正在使用JavaScript SVG和Canvases来允许用户使用鼠标动态绘制。
我的一个问题是,当用户试图在已经存在的路径上绘制时,需要一段时间来过度使用它,我想知道是否有一种有效/更顺畅的方法来执行此操作。
我的另一个问题是擦除已经绘制的SVG路径的部分。我知道我可以使用不同的颜色(ex.white)来过度绘制路径,但如果存在背景图片,那么它仍然会掩盖部分背景。无论如何,是否要编辑路径的某些部分以变得透明甚至删除部分路径?
我尝试获取画布的背景颜色并使用该颜色在路径上绘制,但它只获得原始点的颜色。
感谢。
答案 0 :(得分:1)
目前正在为我工作的解决方案如下。
在javascript文件中,创建一个数组。也是一个柜台。
var idArray = new Array();
var idCounter = 0;
在创建路径时,id被推送到数组。
idArray.push(idCounter);
然后使用"Name_of_path".attr('id',idCounter);
设置路径的ID。
现在,使用计数器i
,i < idArray.length
循环显示ID,您可以找到点击的路径并将其删除。
for(var i = 0;i<list.length;i++){
$("#"+list[i]).click(function(){
var v = "name_of_paper".getById($(this).id);
$(this).remove();
});
此解决方案只是完全删除了路径,我还没有解决方法来删除部分路径。只是一种解决方法。