如何在flutter中制作这样的CustomPaint

kon*_*541 3 graphics dart flutter

我知道这不是最好的方法,但我真的做不到。如何制作这样的东西。我对几何很迷恋。我尝试用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();
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Pav*_*vel 5

Path@arcToPoint对于绘制圆形/椭圆形线段很有用。

例如,对于半径等于矩形高度一半的圆:

final w = size.width;
final h = size.height;
final r = h / 2;

final path = Path();
path.moveTo(0, 0);
path.lineTo(w / 2 - r, 0);
path.arcToPoint(
  Offset(w / 2 + r, 0),
  radius: Radius.circular(r),
  clockwise: false,
);
path.lineTo(w, 0);
path.lineTo(w, h);
path.lineTo(0, h);
path.close();
Run Code Online (Sandbox Code Playgroud)

结果