我必须画一个圆圈的扇形。我用过这段代码
canvas.drawArc(
Rect.fromCircle(
center: Offset(size.width / 2, size.height - 50),
radius: size.width / 2),
degrees,
width,
true,
paint);
它工作得很好。但是由于一些不可避免的原因,我不能使用这种方法,我必须使用该方法
canvas.drawPath()
为此,我需要一条路径,但它只有创建弧而不是扇区的选项。
Path#arcTo
文件说:
如果
forceMoveTo
参数为false,则添加直线段和弧段。 [...]如果forceMoveTo
为false,则添加的线段从当前点开始并在弧的开始处结束。
所以这段代码将绘制一个段:
Offset center = Offset(250, 250);
Rect rect = Rect.fromCircle(center: center, radius: 200);
Path path = Path()
// set the "current point"
..moveTo(center.dx, center.dy)
..arcTo(rect, pi / 4, pi / 2, false);
canvas.drawPath(path, p);
你应该能够用drawArc()中使用的相同参数创建一个路径
尝试类似的东西
Path.arcTo(Rect.fromCircle(center: Offset(size.width / 2, size.height -
50),radius: size.width / 2), degrees, width, true,)
然后在canvas.drawPath()中使用返回的路径