从1.5.0迁移到1.7.3时,fabric.js路径对象会被偏移

时间:2017-02-11 13:43:39

标签: javascript fabricjs

我现在使用1.5.0中的fabric.js 1.7.3因为我需要loadSVGFromString函数。 但是我的一些Path对象现在是水平偏移的,即使我的应用程序中的代码完全相同。 我试过用一个非常简单的演示复制但是失败了。 任何关于fabric.js改变的想法都可能导致这种情况? 我没有找到答案就查看了发行说明。

1 个答案:

答案 0 :(得分:0)

实际上,问题在于strokeWidth选项。似乎fabricjs 1.7.3在它是字符串而不是数字时不绘制路径,而1.5.0则表示路径。 这是一个例子:

  fc = new fabric.Canvas('canvas')
  let path = 'M100,100 L150,100 A20,20,0,0,0,170,80 L170,50 A20,20,0,0,1,190,30 L240,30'
  let line = new fabric.Path(path, { stroke: 'green', strokeWidth: '1', fill: '' })
  fc.add(line)
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script>
<body>
  <canvas width="500" height="500" id="canvas"></canvas>
</body>
</html>

这确实显示了绿色路径。如果更改为结构1.7.3,则绿线不再显示。 如果改为let line = new fabric.Path(path,{stroke:'green',strokeWidth:1,fill:''})

,它会重新出现