2016-03-28 13 views
0

Ben de kullanarak tuvale SVG grafikleri ekleyebilir olduğu sonucuna ettik:SVG'yi nasıl Fabric.js tuvalinden kaldırırım?

fabric.loadSVGFromURL('img1.svg', function(objects, options) { 
    var obj1 = fabric.util.groupSVGElements(objects, options); 
    canvas.add(obj1); 
}); 

fabric.loadSVGFromURL('img2.svg', function(objects, options) { 
    var obj2 = fabric.util.groupSVGElements(objects, options); 
    canvas.add(obj2); 
}); 

varsayalım şimdi Onlardan da bir ikisi silmek istiyorum. Bunu nasıl yapabilirim?

cevap

0

fabricjs içinde Tuvalde nesneyi silmek için farklı bir yöntem kullanıyorum. Bu yöntem, tuvaldeki herhangi bir nesneyi siler. fabricjs: (i bunun için jquery kullanmak :)

var canvas = new fabric.Canvas('c'); 
fabric.loadSVGFromURL('test.svg', function(objects, options) { 
    var obj2 = fabric.util.groupSVGElements(objects, options); 
    obj2.name ="test_svg" //<<<<<<< here set name 
    canvas.add(obj2); 
    console.log(canvas.getObjects()) 
}); 

function del(){ 
$.each(canvas._objects, function(index, obj) { 
    if(obj == null) return; 
    $.each(obj, function(attr, value) { 
      //console.log(attr + ' == ' + value); 
      if(value == "test_svg"){ //<<<<< here we call name 
        //alert(index); 
        canvas.remove(canvas._objects[index]); // here we delete that object 
        canvas.renderAll(); 
       } 
      }); 
}); 
} 

I yük svg yöntemi bu test ve worked.so belki bu Bu object.like silmek için bu özellik kullanarak her bir nesne için name ayarlamak için izin Sizin için çalıştı ..