gpt4 book ai didi

android - 如何生成像提供的图像中的那样的 ClipPath

转载 作者:行者123 更新时间:2023-11-29 05:23:11 26 4
gpt4 key购买 nike

我想生成一个小部件,其剪辑路径与给定图像中的剪辑路径相似。我在这里谈论的是应用程序屏幕的白色部分,其中包含信息。

enter image description here

下面的代码是我在实验时尝试的,但失败了!

 Path getClip(Size size) {
var path = new Path();
var controlpoint = Offset(10.0, size.height);
var endpoint = Offset(size.width / 2, size.height);

path.lineTo(0.0, size.height - 100);

path.quadraticBezierTo(
controlpoint.dx, controlpoint.dy, endpoint.dx, endpoint.dy);

path.lineTo(size.width, size.height);
path.lineTo(size.width, 0.00);

return path;

请帮我解决这个代码:)

编辑:我已经到了这一部分,但我仍然卡住了:(

**Path getClip(Size size) {
final path = Path();
path.lineTo(size.width, 100);
path.lineTo(size.width, size.height);
path.lineTo(0.00, size.height);
path.close();

return path;

}**

以及上面的自定义clipPath,使用ClipRRect。

enter image description here

最佳答案

最后对代码进行了一些操作,最终得到了以下输出:

Path getClip(Size size) {
final path = Path();
path.lineTo(20.0, 0.0);
path.lineTo(size.width, 120);
path.lineTo(size.width, size.height);
path.lineTo(0.00, size.height);
path.close();

return path;

添加的父级是这样的:

ClipRRect(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(25.0),
bottomLeft: Radius.circular(25.0),
),
child: ClipPath(
clipper: SinglePageClipper(),
child: Container(
color: Colors.red,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SizedBox(
height: 400,
),
Center(child: Text('Demo Page'),)
],
),
),
),
),

enter image description here

我认为这是可以改进的事情,所以会尝试这样做。但与此同时,如果有人有更好的方法。请用知识来启发我们,因为这对于像我这样的初学者来说要花费更多时间。

关于android - 如何生成像提供的图像中的那样的 ClipPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58456814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com