擦除或使svg路径的一部分透明

时间:2012-03-05 09:34:31

标签: javascript jquery canvas svg

我最近开始使用SVG路径。我正在使用JavaScript SVG和Canvases来允许用户使用鼠标动态绘制。

我的一个问题是,当用户试图在已经存在的路径上绘制时,需要一段时间来过度使用它,我想知道是否有一种有效/更顺畅的方法来执行此操作。

我的另一个问题是擦除已经绘制的SVG路径的部分。我知道我可以使用不同的颜色(ex.white)来过度绘制路径,但如果存在背景图片,那么它仍然会掩盖部分背景。无论如何,是否要编辑路径的某些部分以变得透明甚至删除部分路径?

我尝试获取画布的背景颜色并使用该颜色在路径上绘制,但它只获得原始点的颜色。

感谢。

1 个答案:

答案 0 :(得分:1)

目前正在为我工​​作的解决方案如下。

  • 在javascript文件中,创建一个数组。也是一个柜台。

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

  • 在创建路径时,id被推送到数组。

    idArray.push(idCounter);

  • 然后使用"Name_of_path".attr('id',idCounter);设置路径的ID。

  • 现在,使用计数器ii < 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();
    });

  • 此外,通过在样式中定义id类,您可以更改不透明度。

此解决方案只是完全删除了路径,我还没有解决方法来删除部分路径。只是一种解决方法。