我知道这不是最好的方法,但我真的不能这样做。如何制作这样的东西。我对几何很着迷。我尝试用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();
最佳答案
看一下这个...
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,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62071436/