javascript - Loading and storing svg files in fabricjs -


i have been able put small test example loading , displaying svg files on canvas fabricjs.

what store loaded svg in variable can added canvas outside scope of loadsvgfromurl callback method. able add same svg canvas many times throughout lifecycle of program without having load file again , again.

when try svg undefined. can tell me how can this?

function start(){     var canvas = new fabric.canvas('canv');     canvas.setwidth(800);     canvas.setheight(600);     canvas.hovercursor = 'normal';      var svg;      fabric.loadsvgfromurl('svg/test.svg', function(objects, options) {         var obj = fabric.util.groupsvgelements(objects, options);         obj.set({             left: 50,             top: 50         });          obj.hascontrols = false;         obj.padding = 10;          canvas.add(obj);               svg = obj;     });      render();     canvas.add(svg);  }  function render(){      canvas.renderall();     fabric.util.requestanimframe(render); } 

i have discovered loadsvgfromurl asynchronous, need make sure has loaded first. can call function load object , store in global namespace svg.

when know has been loaded, can use fabric.util.object.clone() clone object , add canvas.

var svg = svg || {};  function addtestobj() {     if(svg.testobject) {         var clone = fabric.util.object.clone(svg.testobject);          clone.set({              left: x,              top: y          });           canvas.add(clone);     } }  function start() {     var canvas = new fabric.canvas('canv');     canvas.setwidth(800);     canvas.setheight(600);     canvas.hovercursor = 'normal';      fabric.loadsvgfromurl('svg/test.svg', function(objects, options) {         var obj = fabric.util.groupsvgelements(objects, options);          obj.hascontrols = false;         obj.padding = 10;          svg.testobject = obj;      });      render();  }  function render() {      canvas.renderall();     fabric.util.requestanimframe(render); } 

Comments

Popular posts from this blog

python - Mongodb How to add addtional information when aggregating? -

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

java - Incorrect order of records in M-M relationship in hibernate -