我必须在颤动中画一个圆圈。我用了这段代码
canvas.drawArc(
Rect.fromCircle(
center: Offset(size.width / 2, size.height - 50),
radius: size.width / 2),
degrees,
width,
true,
paint);
,效果很好。但是由于某些不可避免的原因,我无法使用此方法,而必须使用该方法
canvas.drawPath()
为此,我需要一条路径,但是它只能创建弧线,而不能创建扇形。
答案 0 :(得分:1)
Path#arcTo
文档说:
如果
forceMoveTo
参数为false,则添加一条直线 段和弧段。 [...] 如果forceMoveTo
为假,则添加的线段从 当前点并在弧的起点处结束。
所以此代码将绘制一个段:
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);
答案 1 :(得分:0)
您应该能够使用在drawArc()中使用的相同参数创建路径
尝试类似
Path.arcTo(Rect.fromCircle(center: Offset(size.width / 2, size.height -
50),radius: size.width / 2), degrees, width, true,)
然后在canvas.drawPath()中使用返回的路径