2015-07-21 47 views
2

大家好日子,給svg對象一個筆畫

我試圖在圍繞邊框的筆畫中提供一個svg對象。不幸的是

obj.set({ 
    'stroke': 'red', 
    'strokeWidth': 2 
}); 

即使在更新後也不起作用。

obj.setCoords(); 
canvas.renderAll(); 

所有其他屬性如填充或角度似乎工作。有人遇到過這個問題並知道如何解決它?

謝謝您已經 塞巴斯蒂安

編輯: 這是怎麼了加載SVG:

var group = [];  
var loadedObjects; 

fabric.loadSVGFromURL(

      'bla.svg', 

      function(objects, options) { 
       loadedObjects = new fabric.Group(group); 
      }, 

      function(item, object) { 
       object.set('id', item.getAttribute('id')); 
       group.push(object); 
      } 
); 
+0

是您的obj路徑嗎?如果是coul你提供你的導入svg的完整代碼? – InferOn

+0

我編輯了我的文章! – Sebastian

+0

你好@Sebastian,你的代碼是正確的,問題可能與svg相關,添加你導入的svg標記,我們可以肯定地解決你的問題;順便說一句,看看你的其他問題,已解決 – InferOn

回答

1

fabricjs不支持邊框爲拉絲團體或路徑組。 你可以做的是加載你的svg作爲一個路徑組。 一旦它被加載創建一個寬度和高度相同的矩形,給他相同的頂部和左側。敲擊矩形並將它們分組:

fabric.loadSVGFromURL(

      'bla.svg', 

      function(objects, options) { 
       var svg = fabric.util.groupSvg(objects, options); 
       var rect = new fabric.Rect({width:svg.width, height: svg.height, top:svg.top, left: svg.left, stroke: 'red', strokeWidth: 5}); 
       group = new fabric.Group([svg, rect]); 
       canvas.add(group); 
      } 
);