首页 > 解决方案 > 在 Flutter 中使用线条和弧线绘制自定义形状

问题描述

我想用直线和圆弧绘制一个自定义形状,我使用了下面的代码,但输出很奇怪!

var ovalW = size.width / 4;
var ovalH = size.height / 4;

var path = Path();
path.moveTo(0, ovalH / 2);
path.arcTo(Rect.fromLTWH(0, 0, ovalW, ovalH), pi / 2, pi / 2, true);
path.lineTo(size.width - (ovalW / 2), ovalH);
path.arcTo(Rect.fromLTWH(size.width - ovalW, 0, ovalW, ovalH), 0, pi / 2, true);
path.lineTo(size.width, 0);
path.lineTo(0, 0);
path.close();

用线条和弧线扑动自定义形状

已编辑

我试图得到这样的东西:

在此处输入图像描述

标签: flutter

解决方案


正如@pskink 在上述评论中所说, Path.addRRect 这样做。

对于后来看到这篇文章的人,这是最终代码:

path.addRRect(RRect.fromLTRBAndCorners(0, 0, size.width, size.height / 4, bottomRight: Radius.elliptical(size.width / 8, size.height / 8), bottomLeft: Radius.elliptical(size.width / 8, size.height / 8)));

推荐阅读