抖音图标:
1、绘制黑色圆角矩形
class MyTrillPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 1.0..color = Colors.black; //背景为纸红色// 设置矩形的半径和圆角的半径相等,效果如下面右图Rect rect = Rect.fromLTRB(55.0, 30.0, 255.0, 220.0);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(20.0));canvas.drawRRect(rRect, paint);}
@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
2、绘制红色区域
class MyTrillPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 1.0..color = Colors.black; //背景为纸红色// 设置矩形的半径和圆角的半径相等,效果如下面右图Rect rect = Rect.fromLTRB(55.0, 30.0, 255.0, 220.0);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(20.0));canvas.drawRRect(rRect, paint);paint..style = PaintingStyle.stroke //..strokeWidth = 60.0 / 3..color = Colors.redAccent; //背景为纸红色rect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: 30.0);canvas.drawArc(rect, 0, math.pi * 3 / 2, false, paint);canvas.drawLine(Offset(size.width / 2 + 30.0, size.height / 2), Offset(size.width / 2 + 30.0, size.height / 2 - 84.0), paint);rect = Rect.fromCircle(center: Offset(size.width / 2 + 60.0, size.height / 2 - 80.0), radius: 30.0);canvas.drawArc(rect, math.pi * 1, -math.pi * 0.5, false, paint);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
class MyTrillPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 1.0..color = Colors.black; //背景为纸红色// 设置矩形的半径和圆角的半径相等,效果如下面右图Rect rect = Rect.fromLTRB(55.0, 30.0, 255.0, 220.0);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(20.0));canvas.drawRRect(rRect, paint);paint..style = PaintingStyle.stroke //..strokeWidth = 60.0 / 3..color = Colors.redAccent; //背景为纸红色rect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: 30.0);canvas.drawArc(rect, 0, math.pi * 3 / 2, false, paint);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
class MyTrillPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 1.0..color = Colors.black; //背景为纸红色// 设置矩形的半径和圆角的半径相等,效果如下面右图Rect rect = Rect.fromLTRB(55.0, 30.0, 255.0, 220.0);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(20.0));canvas.drawRRect(rRect, paint);paint..style = PaintingStyle.stroke //..strokeWidth = 60.0 / 3..color = Colors.redAccent; //背景为纸红色rect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: 30.0);canvas.drawArc(rect, 0, math.pi * 3 / 2, false, paint);canvas.drawLine(Offset(size.width / 2 + 30.0, size.height / 2), Offset(size.width / 2 + 30.0, size.height / 2 - 84.0), paint);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
class MyTrillPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 1.0..color = Colors.black; //背景为纸红色// 设置矩形的半径和圆角的半径相等,效果如下面右图Rect rect = Rect.fromLTRB(55.0, 30.0, 255.0, 220.0);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(20.0));canvas.drawRRect(rRect, paint);paint..style = PaintingStyle.stroke //..strokeWidth = 60.0 / 3..color = Colors.redAccent; //背景为纸红色rect = Rect.fromCircle(center: Offset(size.width / 2 + 60.0, size.height / 2 - 80.0), radius: 30.0);canvas.drawArc(rect, math.pi * 1, -math.pi * 0.5, false, paint);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
3、绘制青色区域
class MyTrillPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 1.0..color = Colors.black; //背景为纸红色// 设置矩形的半径和圆角的半径相等,效果如下面右图Rect rect = Rect.fromLTRB(55.0, 30.0, 255.0, 220.0);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(20.0));canvas.drawRRect(rRect, paint);paint..style = PaintingStyle.stroke //..strokeWidth = 60.0 / 3..color = Colors.redAccent; //背景为纸红色rect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: 30.0);canvas.drawArc(rect, 0, math.pi * 3 / 2, false, paint);canvas.drawLine(Offset(size.width / 2 + 30.0, size.height / 2), Offset(size.width / 2 + 30.0, size.height / 2 - 84.0), paint);rect = Rect.fromCircle(center: Offset(size.width / 2 + 60.0, size.height / 2 - 80.0), radius: 30.0);canvas.drawArc(rect, math.pi * 1, -math.pi * 0.5, false, paint);rect = Rect.fromCircle(center: Offset(size.width / 2 - 7.0, size.height / 2 - 9.0), radius: 30.0);canvas.drawArc(rect, 0, math.pi * 3 / 2 + 0.1, false, paint..color = Colors.cyanAccent);canvas.drawLine(Offset(size.width / 2 + 30.0 - 7.0, size.height / 2 - 9.0), Offset(size.width / 2 + 30.0 - 7.0, size.height / 2 - 80.0 - 9.0), paint);rect = Rect.fromCircle(center: Offset(size.width / 2 + 60.0 - 7.0, size.height / 2 - 80.0 - 9.0), radius: 30.0);canvas.drawArc(rect, math.pi * 1, -math.pi * 0.526, false, paint);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
4、绘制白色区域
class _MyHomePageState extends State<MyHomePage> {@overridevoid initState() {// TODO: implement initStatesuper.initState();}@overrideWidget build(BuildContext context) {print("main_build");return Scaffold(backgroundColor: Colors.white,appBar: AppBar(title: Text(widget.title),),body: Center(child: CustomPaint(size: Size(300, 300), //指定// 画布大小painter: MyTrillPainter(),),),);}
}//抖音
class MyTrillPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 1.0..color = Colors.black; //背景为纸红色// 设置矩形的半径和圆角的半径相等,效果如下面右图Rect rect = Rect.fromLTRB(55.0, 30.0, 255.0, 220.0);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(20.0));canvas.drawRRect(rRect, paint);paint..style = PaintingStyle.stroke //..strokeWidth = 60.0 / 3..color = Colors.redAccent; //背景为纸红色rect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: 30.0);canvas.drawArc(rect, 0, math.pi * 3 / 2, false, paint);canvas.drawLine(Offset(size.width / 2 + 30.0, size.height / 2), Offset(size.width / 2 + 30.0, size.height / 2 - 84.0), paint);rect = Rect.fromCircle(center: Offset(size.width / 2 + 60.0, size.height / 2 - 80.0), radius: 30.0);canvas.drawArc(rect, math.pi * 1, -math.pi * 0.5, false, paint);rect = Rect.fromCircle(center: Offset(size.width / 2 - 7.0, size.height / 2 - 9.0), radius: 30.0);canvas.drawArc(rect, 0, math.pi * 3 / 2 + 0.1, false, paint..color = Colors.cyanAccent);canvas.drawLine(Offset(size.width / 2 + 30.0 - 7.0, size.height / 2 - 9.0), Offset(size.width / 2 + 30.0 - 7.0, size.height / 2 - 80.0 - 9.0), paint);rect = Rect.fromCircle(center: Offset(size.width / 2 + 60.0 - 7.0, size.height / 2 - 80.0 - 9.0), radius: 30.0);canvas.drawArc(rect, math.pi * 1, -math.pi * 0.526, false, paint);rect = Rect.fromCircle(center: Offset(size.width / 2 - 4.0, size.height / 2 - 4.0),radius: 30.0);canvas.drawArc(rect, 0,math.pi * 3 / 2,false,paint..color = Colors.white..strokeWidth = 16.0);canvas.drawLine(Offset(size.width / 2 + 30.0 - 4.0, size.height / 2 - 4.0),Offset(size.width / 2 + 30.0 - 4.0, size.height / 2 - 80.0 - 4.0),paint);rect = Rect.fromCircle(center:Offset(size.width / 2 + 60.0 - 4.0, size.height / 2 - 80.0 - 4.0),radius: 30.0);canvas.drawArc(rect, math.pi * 1, -math.pi * 0.5, false, paint);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
安卓图标
1、绘制灰色矩形背景
class MyAndroidPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 0.0;_drawRect(size, canvas, paint);}//绘制灰色矩形背景void _drawRect(Size size, Canvas canvas, paint) {Rect rect = Rect.fromLTRB(0.0, 0.0, size.width, size.height);canvas.drawRect(rect, paint..color = Colors.black12);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
2、绘制绿色圆角背景
class MyAndroidPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 0.0;//矩形圆角double _rCircular = size.width * 7 / 30;_drawRect(size, canvas, paint);_drawRRect(size, canvas, paint, _rCircular);}//绘制灰色矩形背景void _drawRect(Size size, Canvas canvas, paint) {Rect rect = Rect.fromLTRB(0.0, 0.0, size.width, size.height);canvas.drawRect(rect, paint..color = Colors.black12);}//绘制圆角矩形背景void _drawRRect(Size size, Canvas canvas, paint, rCircular) {Rect rect = Rect.fromLTRB(0.0, 0.0, size.width, size.height);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.drawRRect(rRect, paint..color = Colors.lightGreen);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}
3、绘制半圆角白色背景
@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 0.0;//矩形圆角double _rCircular = size.width * 7 / 30;_drawRect(size, canvas, paint);_drawRRect(size, canvas, paint, _rCircular);//绘制中间半圆角_drawMHalfRRect(size, canvas, paint, _rCircular / 3); }//绘制半圆角背景void _drawMHalfRRect(Size size, Canvas canvas, paint, rCircular) {double _halfRRectStartX = size.width / 3,_halfRRectStartY = size.height / 3,_halfRRectEndX = size.width * 2 / 3,_halfRRectEndY = size.height * 2 / 3;Rect rect = Rect.fromLTRB(_halfRRectStartX, _halfRRectStartY, _halfRRectEndX, _halfRRectEndY);RRect rRect = RRect.fromRectAndCorners(rect,bottomLeft: Radius.circular(rCircular),bottomRight: Radius.circular(rCircular),topLeft: Radius.circular(0.0),topRight: Radius.circular(0.0));canvas.drawRRect(rRect, paint..color = Colors.white);}
4、绘制中间半圆角-左、右边圆角矩形
@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 0.0;//矩形圆角double _rCircular = size.width * 7 / 30;_drawRect(size, canvas, paint);_drawRRect(size, canvas, paint, _rCircular);//绘制中间半圆角_drawMHalfRRect(size, canvas, paint, _rCircular / 3);_drawMLRRect(size, canvas, paint, _rCircular / 4);_drawMRRRect(size, canvas, paint, _rCircular / 4);}//绘制中间半圆角-左边圆角矩形void _drawMLRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 - 30.0,_rRectStartY = size.height / 3,_rRectEndX = size.width / 3 - 6.0,_rRectEndY = size.height / 3 * 2 - 20.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制中间半圆角-右边圆角矩形void _drawMRRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 * 2 + 6.0,_rRectStartY = size.height / 3,_rRectEndX = size.width / 3 * 2 + 30.0,_rRectEndY = size.height / 3 * 2 - 20.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.drawRRect(rRect, paint..color = Colors.white);}
5、绘制底部2个半圆角矩形
@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 0.0;//矩形圆角double _rCircular = size.width * 7 / 30;_drawRect(size, canvas, paint);_drawRRect(size, canvas, paint, _rCircular);_drawBLHalfRRect(size, canvas, paint, _rCircular / 4);_drawBRHalfRRect(size, canvas, paint, _rCircular / 4);
}//绘制底部左边半圆角void _drawBLHalfRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 + 20.0,_rRectStartY = size.height / 3 * 2,_rRectEndX = size.width / 3 + 44.0,_rRectEndY = size.height / 3 * 2 + 40.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndCorners(rect,bottomLeft: Radius.circular(rCircular),bottomRight: Radius.circular(rCircular),topLeft: Radius.circular(0.0),topRight: Radius.circular(0.0));canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制底部右边半圆角void _drawBRHalfRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 + 56.0,_rRectStartY = size.height / 3 * 2,_rRectEndX = size.width / 3 * 2 - 20.0,_rRectEndY = size.height / 3 * 2 + 40.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndCorners(rect,bottomLeft: Radius.circular(rCircular),bottomRight: Radius.circular(rCircular),topLeft: Radius.circular(0.0),topRight: Radius.circular(0.0));canvas.drawRRect(rRect, paint..color = Colors.white);}
6、绘制顶部弧形区域
//绘制顶部半圆void _drawTopArc(Size size, Canvas canvas, paint) {Rect rect = Rect.fromLTRB(size.width / 3, size.height / 6,size.width * 2 / 3, size.height / 6 + 90.0);canvas.drawArc(rect, 3.14, 3.14, true, paint..color = Colors.white);}
7、绘制顶部弧形内部2个小圆点
//绘制顶部半圆-眼睛void _drawTopLeftEyes(Size size, Canvas canvas, paint) {Offset offset = Offset(size.width / 3 + 30.0, size.height / 6 + 20.0);canvas.drawCircle(offset, 6.0, paint..color = Colors.lightGreen);}//绘制顶部半圆-眼睛void _drawTopRightEyes(Size size, Canvas canvas, paint) {Offset offset = Offset(size.width * 2 / 3 - 30.0, size.height / 6 + 20.0);canvas.drawCircle(offset, 6.0, paint..color = Colors.lightGreen);}
8、绘制顶部类似天线的圆角矩形
//绘制顶部左边天线void _drawTopLeftMast(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3,_rRectStartY = size.height / 7,_rRectEndX = size.width / 3 + 8.0,_rRectEndY = size.height / 4;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.rotate(-0.3);canvas.translate(0.0, 18.0);canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制顶部左边天线void _drawTopRightMast(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 * 2 - 8.0,_rRectStartY = size.height / 7,_rRectEndX = size.width / 3 * 2,_rRectEndY = size.height / 4;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.rotate(0.3);canvas.translate(0.0, -90.0);canvas.rotate(0.3);canvas.drawRRect(rRect, paint..color = Colors.white);}
安卓图标
class MyAndroidPainter extends CustomPainter {@overridevoid paint(Canvas canvas, Size size) {var paint = Paint()..isAntiAlias = true..style = PaintingStyle.fill //..strokeWidth = 0.0;//矩形圆角double _rCircular = size.width * 7 / 30;_drawRect(size, canvas, paint);_drawRRect(size, canvas, paint, _rCircular);//绘制中间半圆角_drawMHalfRRect(size, canvas, paint, _rCircular / 3);_drawMLRRect(size, canvas, paint, _rCircular / 4);_drawMRRRect(size, canvas, paint, _rCircular / 4);_drawBLHalfRRect(size, canvas, paint, _rCircular / 4);_drawBRHalfRRect(size, canvas, paint, _rCircular / 4);_drawTopArc(size, canvas, paint);_drawTopLeftEyes(size, canvas, paint);_drawTopRightEyes(size, canvas, paint);_drawTopLeftMast(size, canvas, paint, _rCircular / 8);_drawTopRightMast(size, canvas, paint, _rCircular / 8);}//绘制灰色矩形背景void _drawRect(Size size, Canvas canvas, paint) {Rect rect = Rect.fromLTRB(0.0, 0.0, size.width, size.height);canvas.drawRect(rect, paint..color = Colors.black12);}//绘制圆角矩形背景void _drawRRect(Size size, Canvas canvas, paint, rCircular) {Rect rect = Rect.fromLTRB(0.0, 0.0, size.width, size.height);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.drawRRect(rRect, paint..color = Colors.lightGreen);}//绘制半圆角背景void _drawMHalfRRect(Size size, Canvas canvas, paint, rCircular) {double _halfRRectStartX = size.width / 3,_halfRRectStartY = size.height / 3,_halfRRectEndX = size.width * 2 / 3,_halfRRectEndY = size.height * 2 / 3;Rect rect = Rect.fromLTRB(_halfRRectStartX, _halfRRectStartY, _halfRRectEndX, _halfRRectEndY);RRect rRect = RRect.fromRectAndCorners(rect,bottomLeft: Radius.circular(rCircular),bottomRight: Radius.circular(rCircular),topLeft: Radius.circular(0.0),topRight: Radius.circular(0.0));canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制中间半圆角-左边圆角矩形void _drawMLRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 - 30.0,_rRectStartY = size.height / 3,_rRectEndX = size.width / 3 - 6.0,_rRectEndY = size.height / 3 * 2 - 20.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制中间半圆角-右边圆角矩形void _drawMRRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 * 2 + 6.0,_rRectStartY = size.height / 3,_rRectEndX = size.width / 3 * 2 + 30.0,_rRectEndY = size.height / 3 * 2 - 20.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制底部左边半圆角void _drawBLHalfRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 + 20.0,_rRectStartY = size.height / 3 * 2,_rRectEndX = size.width / 3 + 44.0,_rRectEndY = size.height / 3 * 2 + 40.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndCorners(rect,bottomLeft: Radius.circular(rCircular),bottomRight: Radius.circular(rCircular),topLeft: Radius.circular(0.0),topRight: Radius.circular(0.0));canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制底部右边半圆角void _drawBRHalfRRect(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 + 56.0,_rRectStartY = size.height / 3 * 2,_rRectEndX = size.width / 3 * 2 - 20.0,_rRectEndY = size.height / 3 * 2 + 40.0;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndCorners(rect,bottomLeft: Radius.circular(rCircular),bottomRight: Radius.circular(rCircular),topLeft: Radius.circular(0.0),topRight: Radius.circular(0.0));canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制顶部半圆void _drawTopArc(Size size, Canvas canvas, paint) {Rect rect = Rect.fromLTRB(size.width / 3, size.height / 6,size.width * 2 / 3, size.height / 6 + 90.0);canvas.drawArc(rect, 3.14, 3.14, true, paint..color = Colors.white);}//绘制顶部半圆-眼睛void _drawTopLeftEyes(Size size, Canvas canvas, paint) {Offset offset = Offset(size.width / 3 + 30.0, size.height / 6 + 20.0);canvas.drawCircle(offset, 6.0, paint..color = Colors.lightGreen);}//绘制顶部半圆-眼睛void _drawTopRightEyes(Size size, Canvas canvas, paint) {Offset offset = Offset(size.width * 2 / 3 - 30.0, size.height / 6 + 20.0);canvas.drawCircle(offset, 6.0, paint..color = Colors.lightGreen);}//绘制顶部左边天线void _drawTopLeftMast(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3,_rRectStartY = size.height / 7,_rRectEndX = size.width / 3 + 8.0,_rRectEndY = size.height / 4;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.rotate(-0.3);canvas.translate(0.0, 18.0);canvas.drawRRect(rRect, paint..color = Colors.white);}//绘制顶部左边天线void _drawTopRightMast(Size size, Canvas canvas, paint, rCircular) {double _rRectStartX = size.width / 3 * 2 - 8.0,_rRectStartY = size.height / 7,_rRectEndX = size.width / 3 * 2,_rRectEndY = size.height / 4;Rect rect =Rect.fromLTRB(_rRectStartX, _rRectStartY, _rRectEndX, _rRectEndY);RRect rRect = RRect.fromRectAndRadius(rect, Radius.circular(rCircular));canvas.rotate(0.3);canvas.translate(0.0, -90.0);canvas.rotate(0.3);canvas.drawRRect(rRect, paint..color = Colors.white);}@overridebool shouldRepaint(CustomPainter oldDelegate) => true;
}