Javascript Fabricjs:在画布上更新SVG

Javascript Fabricjs:在画布上更新SVG,javascript,php,angularjs,canvas,fabricjs,Javascript,Php,Angularjs,Canvas,Fabricjs,我正在使用fabricjs 1.6.4,我想用新的svg更新现有的svg。我使用以下代码添加新的SVG: fabric.loadSVGFromURL(url, function (objects, options) { var image = fabric.util.groupSVGElements(objects, options); image.name = 'sticker'; canvas.add(image);

我正在使用fabricjs 1.6.4,我想用新的svg更新现有的svg。我使用以下代码添加新的SVG:

fabric.loadSVGFromURL(url, function (objects, options) {
          var image = fabric.util.groupSVGElements(objects, options);
          image.name = 'sticker';
          canvas.add(image);
          image.scaleToHeight(100);
          image.center();
          image['selectable'] = false;
          image['evented'] = false;
          image.setCoords();
          canvas.renderAll();
        });
      }
如何用新的SVG替换现有的SVG。我在图片中做了一些与此相关的事情,但无法在SVG中复制。以下是图像的代码:

$scope.fillImage = function(src) {
    fabric.Image.fromURL(src, function(img) {
        var object = canvas.getActiveObject();
        object._element.src = src;
        canvas.renderAll();
    });
}

我需要这样的东西。请帮助。

您已经有了变量
image
只需将其设置为全局变量,您可以在添加之前将其删除
以下是一个示例:

var图像;
var canvas=newfabric.canvas('canvas');
变量url=”http://swagger-net-test.azurewebsites.net/api/SvgImage?"
函数回调(对象、选项){
如果(图像)画布。删除(图像);
image=fabric.util.GroupsGelements(对象、选项);
image.name=‘贴纸’;
canvas.add(图像);
图像。缩放高度(60);
image.center();
image.setCoords();
canvas.renderAll();
}
fabric.loadSVGFromURL(url+“color=red”,回调)
设置超时(
函数(){
fabric.loadSVGFromURL(url+“color=blue”,回调)
},
3000
);


获取现有svg对象的索引,然后使用相同的索引替换。因此,您正在删除旧图像并添加新图像one@Ashish对,你还有其他想法吗?我也有同样的想法,但我正在寻找更好的解决方案,如果可能的话。。。我对图像也做了同样的事情,但没有删除之前的图像,但是我无法使用SVG。如果你愿意,我也可以粘贴图像代码。我已经编辑了我的问题。在图中,我刚刚用新的替换了element.src属性,它工作正常。我在找这样的东西。