美文网首页
Flutter 贝塞尔曲线切割

Flutter 贝塞尔曲线切割

作者: 贝灬小晖 | 来源:发表于2020-03-23 18:06 被阅读0次

Flutter 贝塞尔曲线切割

https://www.cnblogs.com/joe235/p/11235838.html

使用 ClipPath 路径裁切组件

 child: ClipPath( *//*路径裁切组件

 clipper: BottomClipper(), *//*路径

 child: Container(

 color: Colors.red,

 height: 260.0,

 )

 ),

class BottomClipper extends CustomClipper<Path>{

 @override

 Path getClip(Size size){

 var path = Path();

 path.lineTo(0, 0); *//*第*1*个点

 path.lineTo(0, size.height-50.0); *//*第*2*个点

 var firstControlPoint = Offset(size.width/2, size.height);

 var firstEdnPoint = Offset(size.width, size.height-50.0);

 *//* 增加了一个二次贝塞尔曲线段曲线从当前点到给定的点(*x2*, *y2*),使用控制点(*x1*, *y1*)。

 path.quadraticBezierTo(

 firstControlPoint.dx, 

 firstControlPoint.dy, 

 firstEdnPoint.dx, 

 firstEdnPoint.dy

 );

 path.lineTo(size.width, size.height-50.0); *//*第*3*个点

 path.lineTo(size.width, 0); *//*第*4*个点

 return path;

 }

 @override

 bool shouldReclip(CustomClipper<Path> oldClipper) {

 return false;

 }

}

相关文章

网友评论

      本文标题:Flutter 贝塞尔曲线切割

      本文链接:https://www.haomeiwen.com/subject/gitgyhtx.html