Javascript Fabric.js路径数组是否有大小限制?

Javascript Fabric.js路径数组是否有大小限制?,javascript,svg,fabricjs,Javascript,Svg,Fabricjs,我正在尝试使用Fabric.js绘制一个折线图。fabric.Path似乎是一种方式,但它在8段后停止绘制 我尝试过循环和单独编码每个片段,但它总是在8个片段之后停止绘制 const canvas = Controller.Canvas; line = new fabric.Path('M 90 104', { stroke: 'black', fill: '' }); lastLeft = 90; for (i = 1; i < 20; i++) { lastLeft +=

我正在尝试使用Fabric.js绘制一个折线图。fabric.Path似乎是一种方式,但它在8段后停止绘制

我尝试过循环和单独编码每个片段,但它总是在8个片段之后停止绘制

const canvas = Controller.Canvas;

line = new fabric.Path('M 90 104', { stroke: 'black', fill: '' });
lastLeft = 90;

for (i = 1; i < 20; i++) {
    lastLeft += 20;
    line.path[i] = ['L', lastLeft, 104];
}

canvas.add(line);
const canvas=Controller.canvas;
line=newfabric.Path('m90104',{stroke:'black',fill:'});
左=90;
对于(i=1;i<20;i++){
lastLeft+=20;
line.path[i]=[L',最后左,104];
}
canvas.add(行);

我希望代码能画出一条20段的线。8点停。画布足够大。

查看fabric.js代码,Line的
路径
属性实际上不应该这样修改-它更像是一个内部属性。从传递到构造函数的路径数据解析路径后,fabric计算线条的尺寸和位置,然后在渲染调用期间使用这些尺寸和位置。这意味着,如果在构造函数运行后修改了路径,那么最终将得到错误的维度,从而导致缺少行,等等

有一种方法可以让结构重新计算尺寸,尽管它使用私有调用。这意味着它可能会在结构版本之间更改(下面的代码段适用于3.4.0),因此不建议使用,除非您出于某种原因确实想弄乱
path

const canvas=new fabric.canvas('c')
常数初始值x=10
常数初始值=10
const line=new fabric.Path(`M${initialX}${initialY}`,{stroke:'black',fill:'})
for(设i=1;i<20;i++){
line.path[i]=[L',initialX+i*20,initialY+Math.pow(i,2)]
}
/*警告:黑客开始攻击*/
fabric.Polyline.prototype.\u setPositionDimensions.call(line,{})
/*乱七八糟的东西*/
canvas.add(行)
正文{
背景:象牙;
}

查看fabric.js代码,Line的
路径
属性实际上不应该这样修改-它更像是一个内部属性。从传递到构造函数的路径数据解析路径后,fabric计算线条的尺寸和位置,然后在渲染调用期间使用这些尺寸和位置。这意味着,如果在构造函数运行后修改了路径,那么最终将得到错误的维度,从而导致缺少行,等等

有一种方法可以让结构重新计算尺寸,尽管它使用私有调用。这意味着它可能会在结构版本之间更改(下面的代码段适用于3.4.0),因此不建议使用,除非您出于某种原因确实想弄乱
path

const canvas=new fabric.canvas('c')
常数初始值x=10
常数初始值=10
const line=new fabric.Path(`M${initialX}${initialY}`,{stroke:'black',fill:'})
for(设i=1;i<20;i++){
line.path[i]=[L',initialX+i*20,initialY+Math.pow(i,2)]
}
/*警告:黑客开始攻击*/
fabric.Polyline.prototype.\u setPositionDimensions.call(line,{})
/*乱七八糟的东西*/
canvas.add(行)
正文{
背景:象牙;
}