Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用fabric.js绘制圆弧?_Javascript_Html_Fabricjs - Fatal编程技术网

Javascript 如何使用fabric.js绘制圆弧?

Javascript 如何使用fabric.js绘制圆弧?,javascript,html,fabricjs,Javascript,Html,Fabricjs,我想画一条弧,我用一个有起点和终点的圆。但有点不对劲。以下是我的代码: var circle = new fabric.Circle({ radius: 30, left: 20, top: 20, fill: "rgba(0, 0, 0, 0)", stroke: 'black', startAngle: 0, endAngle: Math.PI }); canvas.add

我想画一条弧,我用一个有起点和终点的圆。但有点不对劲。以下是我的代码:

    var circle = new fabric.Circle({
        radius: 30,
        left: 20,
        top: 20,
        fill: "rgba(0, 0, 0, 0)",
        stroke: 'black',
        startAngle: 0,
        endAngle: Math.PI
});
canvas.add(circle);
你可以看到(在JSFIDLE上)它总是画一个完整的圆-


怎么了?

通过fabric.Path绘制圆弧怎么样?试着这样做:

var arc1 = new fabric.Path("M 255 135 A 50 50 0 0 1 200 110", {
                stroke: 'black',
                fill: "white"
            });
另见:

您可以编写一个接受参数并生成路径的函数。看起来fabric在fabric.util.drawArc中也有一个静态函数,您可以使用该函数:


它不会改变任何事情。它会更改孔圆的角度。在这里查看:。我想画这样的东西:似乎不再适用于我的圆圈了。你试过使用路径吗?将编辑答案以反映这一点。编辑:我认为路径将起作用,但这不是最好的解决方案还是?这将是非常复杂的,使这个版本为多种屏幕尺寸做好准备。有什么理由你需要使用fabricjs的弧生成?Canvas有一个内置的方法来创建圆弧。参见:另请参见。你可以添加一个函数来接受参数并绘制圆弧(在封面下有路径)。是的,原因是我喜欢fabric处理动画的方式,但毕竟我认为我必须使用内置方法。