如何在一个扇动的画面?

问题描述 投票:0回答:2

我必须画一个圆圈的扇形。我用过这段代码

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

它工作得很好。但是由于一些不可避免的原因,我不能使用这种方法,我必须使用该方法

canvas.drawPath()

为此,我需要一条路径,但它只有创建弧而不是扇区的选项。

dart flutter
2个回答
2
投票

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);

0
投票

你应该能够用drawArc()中使用的相同参数创建一个路径

尝试类似的东西

Path.arcTo(Rect.fromCircle(center: Offset(size.width / 2, size.height - 
50),radius: size.width / 2), degrees, width, true,)

然后在canvas.drawPath()中使用返回的路径

© www.soinside.com 2019 - 2024. All rights reserved.