Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
Flutter 如何在颤振中圆化圆弧边缘?_Flutter_Canvas - Fatal编程技术网

Flutter 如何在颤振中圆化圆弧边缘?

Flutter 如何在颤振中圆化圆弧边缘?,flutter,canvas,Flutter,Canvas,我需要创建一个弧图,如下所示: 使用canvas,我创建了这个: 我的代码: class CustomChartPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { Rect drawingRect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: size.width

我需要创建一个弧图,如下所示:

使用canvas,我创建了这个:

我的代码:

class CustomChartPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {

    Rect drawingRect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: size.width / 2);


    final Paint paint2 = Paint();
    paint2.color = const Color.fromRGBO(0, 0, 0, 0.04);
    paint2.style = PaintingStyle.stroke;
    paint2.strokeWidth = 50;

    canvas.drawCircle(Offset(size.width / 2, size.height / 2), size.width / 2, paint2);

    canvas.drawArc(drawingRect,
        -pi / 2 + 0.35,
        pi - 0.35,
        false,
        greenPaint);

    canvas.drawArc(drawingRect,
        pi / 2 + 0.35,
        pi - 0.35,
        false,
        orangePaint);
  }
}


如何使第一张图片上显示的圆弧边缘圆化?

正如@pskink所提到的,解决方法是使用
Paint.strokeCap
,更准确地说:
Paint.strokeCap=strokeCap.round

@pskink我必须计算图表边缘坐标和半圆的旋转角度吗?对不起,忘了-我错了,请参见
Paint.strokeCap
@pskink-Wow!这正是我需要的。非常感谢。