我知道这不是最好的方法,但我真的不能这样做。如何制作这样的东西。我对几何很着迷。我尝试用cubicTo来做这个,但我没有得到这个效果:/。

有人能帮我吗。下面是我的代码的一部分。

var sw = size.width;
var sh = size.height;

var path = Path();

path.cubicTo(sw/2, 0, sw/4, 0, 2*sw/4, 2*sh/4);
path.cubicTo(2*sw/3, 2*sh/3, sw/3, 0, sw, 0);
path.cubicTo(0, 0, 0, 0, sw, 0);
path.lineTo(sw, sh);
path.lineTo(0, sh);
path.close();

flutter - 如何在 flutter 中制作这样的 CustomPaint-LMLPHP

最佳答案

看一下这个...

class Paintter extends CustomPainter{
  @override
  void paint(Canvas canvas, Size size) {
    Paint paint = Paint()..color = Colors.orange;
    var path = Path();
    double factor = 100;
    path.lineTo(0, size.height);
    path.lineTo(size.width, size.height);
    path.lineTo(size.width, 0);
    path.lineTo(size.width - factor, 0);
    path.quadraticBezierTo(size.width/2, size.height, factor, 0);
    path.lineTo(0, 0);
    canvas.drawPath(path, paint);
  }

输出:
flutter - 如何在 flutter 中制作这样的 CustomPaint-LMLPHP

关于flutter - 如何在 flutter 中制作这样的 CustomPaint,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62071436/

10-13 01:56