如何绘制一个扑扑的扇区?

时间:2019-02-28 13:23:46

标签: dart flutter

我必须在颤动中画一个圆圈。我用了这段代码

canvas.drawArc(
    Rect.fromCircle(
        center: Offset(size.width / 2, size.height - 50),
        radius: size.width / 2),
    degrees,
    width,
    true,
    paint);

,效果很好。但是由于某些不可避免的原因,我无法使用此方法,而必须使用该方法

canvas.drawPath()

为此,我需要一条路径,但是它只能创建弧线,而不能创建扇形。

2 个答案:

答案 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()中使用返回的路径