如何在颤振中在画布圆圈内插入/绘制图像/文本

时间:2021-06-23 11:55:21

标签: flutter dart canvas flutter-layout

我想在画布圆圈内绘制/插入图像和文本,但我无法做到。我正在发布屏幕截图以更好地了解我的要求

Image

代码

void paint(Canvas canvas, Size size) {
    Size size = MediaQuery.of(buildContext).size;
    double strokeWidth = 10;
    Rect myRect = Offset(-size.width * 0.21, -40) &
        Size(size.width * 0.195, size.width * 0.195);

    var paint1 = Paint()
      ..color = Color(0xFF23BBFF)
      ..strokeWidth = strokeWidth
      ..style = PaintingStyle.stroke;
    var paint2 = Paint()
      ..color = Color(0xFFFF8623)
      ..strokeWidth = strokeWidth
      ..style = PaintingStyle.stroke;

    double firstLineRadianStart = 0;
    double _unAnswered = 0.30;
    double firstLineRadianEnd = (360 * _unAnswered) * pi / 180;
    canvas.drawArc(
        myRect, firstLineRadianStart, firstLineRadianEnd, false, paint1);

    double _learned = 1 - _unAnswered;
    double secondLineRadianEnd = getRadians(_learned);
    canvas.drawArc(
        myRect, firstLineRadianEnd, secondLineRadianEnd, false, paint2);
  }

  double getRadians(double value) {
    return (360 * value) * pi / 180;
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) => true;

0 个答案:

没有答案