Flutter笔记:完全基于Flutter绘图技术绘制一个精美的Dash图标(上)

1,187 阅读6分钟

Flutter笔记 完全基于Flutter绘图技术绘制一个精美的Dart语言吉祥物Dash(上)


作者李俊才 (jcLee95)blog.csdn.net/qq_28550263
邮箱 : 291148484@163.com
本文地址blog.csdn.net/qq_28550263…


【介绍】:本文完全基于Flutter绘图技术绘制一个精美的Dash图标(上)。

目 录* * *

什么也不用多说了,今天我是来炫技的。完全基于Flutter绘图技术绘制一个精美的Dart吉祥物Dash
另见下一篇文章:《Flutter笔记:完全基于Flutter绘图技术绘制一个精美的Dash图标(中)》 后续说明。
另见下下一篇文章:《Flutter笔记:完全基于Flutter绘图技术绘制一个精美的Dash图标(下)》 后续说明。


由于字数限制,分两篇文章,完全基于 Flutter 绘图技术,绘制以下图片,最后进行说明:
在这里插入图片描述

1. 上代码

第一部分:基本页面框架

class DashDraw extends StatelessWidget {

  final double width;
  final double height;

  const DashDraw({
    super.key,
    this.width = 200,   
    this.height = 200,
  });

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: CustomPaint(
        size: Size(width, height),
        painter: DashDrawPainter(),
      ),
    );
  }
}

第二部分:Dash 绘制器

class DashDrawPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    final paint0 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path0 = Path();
    path0.moveTo(513.89, 38.25);
    path0.lineTo(508.03, 32.81);

    canvas.drawPath(path0, paint0);

    final paint1 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path1 = Path();
    path1.moveTo(499.06, 41.23);
    path1.lineTo(501.60, 49.15);
    path1.arcTo(Rect.fromLTRB(501.63000000000005, 49.11, 501.69, 49.17), 0.0, -180.0, false);
    path1.quadraticBezierTo(501.44, 43.74, 500.31, 38.16);
    path1.quadraticBezierTo(500.14, 37.32, 500.49, 36.92);
    path1.quadraticBezierTo(500.90, 36.46, 501.74, 36.22);

    canvas.drawPath(path1, paint1);

    final paint2 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path2 = Path();
    path2.moveTo(508.36, 51.87);
    path2.quadraticBezierTo(507.23, 53.00, 507.96, 55.34);
    path2.quadraticBezierTo(508.14, 55.91, 508.58, 55.51);
    path2.quadraticBezierTo(509.14, 55.01, 509.03, 52.98);

    canvas.drawPath(path2, paint2);

    final paint3 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path3 = Path();
    path3.moveTo(510.10, 52.90);
    path3.quadraticBezierTo(511.21, 49.78, 509.80, 46.83);

    canvas.drawPath(path3, paint3);

    final paint4 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path4 = Path();
    path4.moveTo(516.11, 47.98);
    path4.quadraticBezierTo(516.48, 55.01, 517.73, 43.82);

    canvas.drawPath(path4, paint4);

    final paint5 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path5 = Path();
    path5.moveTo(525.59, 88.42);
    path5.quadraticBezierTo(522.72, 91.20, 523.62, 94.11);

    canvas.drawPath(path5, paint5);

    final paint6 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path6 = Path();
    path6.moveTo(523.62, 94.11);
    path6.lineTo(513.32, 104.92);
    path6.arcTo(Rect.fromLTRB(511.28999999999996, 104.08, 513.73, 106.52), 0.0, 180.0, false);
    path6.lineTo(502.53, 106.05);
    path6.arcTo(Rect.fromLTRB(500.37, 104.0, 502.45000000000005, 106.06), -2.6, 180.0, false);
    path6.lineTo(501.35, 100.48);
    path6.arcTo(Rect.fromLTRB(499.85999999999996, 98.67, 501.82, 100.61), -76.4, -180.0, false);
    path6.cubicTo(496.11, 97.07, 496.50, 105.96, 491.82, 103.63);
    path6.quadraticBezierTo(489.01, 102.23, 486.80, 99.94);
    path6.quadraticBezierTo(485.02, 98.09, 480.93, 92.62);

    canvas.drawPath(path6, paint6);

    final paint7 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path7 = Path();
    path7.moveTo(480.93, 92.62);
    path7.quadraticBezierTo(480.20, 90.49, 477.31, 88.14);

    canvas.drawPath(path7, paint7);

    final paint8 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path8 = Path();
    path8.moveTo(477.31, 88.14);
    path8.quadraticBezierTo(478.00, 85.44, 474.79, 84.64);

    canvas.drawPath(path8, paint8);

    final paint9 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path9 = Path();
    path9.moveTo(470.67, 58.41);
    path9.quadraticBezierTo(470.66, 61.37, 473.97, 61.66);
    path9.arcTo(Rect.fromLTRB(473.66, 60.65, 475.44, 62.37), 29.8, -180.0, false);
    path9.quadraticBezierTo(475.17, 61.07, 474.74, 60.71);

    canvas.drawPath(path9, paint9);

    final paint10 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path10 = Path();
    path10.moveTo(473.57, 51.90);
    path10.quadraticBezierTo(474.02, 46.58, 472.73, 41.75);

    canvas.drawPath(path10, paint10);

    final paint11 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path11 = Path();
    path11.moveTo(473.09, 34.16);
    path11.lineTo(477.77, 41.97);

    canvas.drawPath(path11, paint11);

    final paint12 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path12 = Path();
    path12.moveTo(479.80, 37.78);
    path12.quadraticBezierTo(480.61, 38.16, 481.84, 38.13);

    canvas.drawPath(path12, paint12);

    final paint13 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path13 = Path();
    path13.moveTo(482.87, 41.96);
    path13.quadraticBezierTo(482.13, 41.39, 482.32, 43.02);
    path13.arcTo(Rect.fromLTRB(483.05, 42.47, 484.67, 44.09), 0.0, -180.0, false);
    path13.quadraticBezierTo(485.24, 40.45, 489.08, 41.92);

    canvas.drawPath(path13, paint13);

    final paint14 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path14 = Path();
    path14.moveTo(771.11, 206.95);
    path14.quadraticBezierTo(766.11, 204.00, 762.18, 199.44);
    path14.quadraticBezierTo(759.28, 196.07, 757.29, 194.64);
    path14.quadraticBezierTo(747.64, 187.69, 736.06, 184.52);
    path14.quadraticBezierTo(700.95, 174.90, 667.65, 186.88);
    path14.cubicTo(644.51, 195.21, 630.31, 213.89, 619.56, 235.05);
    path14.cubicTo(614.32, 245.38, 610.04, 253.02, 608.00, 263.21);
    path14.quadraticBezierTo(607.96, 263.42, 607.84, 263.57);
    path14.quadraticBezierTo(607.63, 263.82, 607.51, 263.84);
    path14.arcTo(Rect.fromLTRB(605.45, 262.28999999999996, 607.45, 264.27), 72.8, 180.0, false);
    path14.cubicTo(602.29, 254.33, 597.16, 245.41, 589.49, 239.23);
    path14.quadraticBezierTo(561.47, 216.70, 526.29, 205.31);
    path14.cubicTo(511.10, 200.40, 492.27, 201.38, 476.56, 202.73);
    path14.quadraticBezierTo(469.03, 203.38, 462.09, 205.17);
    path14.cubicTo(454.65, 207.10, 445.00, 209.42, 439.06, 214.32);
    path14.cubicTo(430.05, 221.74, 417.44, 232.00, 411.02, 242.53);
    path14.quadraticBezierTo(405.15, 252.14, 396.40, 268.64);
    path14.cubicTo(392.66, 275.70, 390.17, 281.99, 388.17, 289.24);
    path14.cubicTo(383.70, 305.53, 379.05, 322.02, 379.97, 339.01);
    path14.quadraticBezierTo(381.16, 360.83, 386.36, 384.50);
    path14.quadraticBezierTo(388.12, 392.50, 391.11, 400.72);
    path14.quadraticBezierTo(394.01, 408.67, 397.16, 416.53);
    path14.quadraticBezierTo(401.19, 426.59, 405.81, 434.00);
    path14.quadraticBezierTo(416.06, 450.45, 429.91, 464.48);

    canvas.drawPath(path14, paint14);

    final paint15 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path15 = Path();
    path15.moveTo(366.86, 641.18);
    path15.quadraticBezierTo(363.07, 645.29, 364.18, 650.25);
    path15.quadraticBezierTo(365.20, 654.77, 365.72, 657.89);
    path15.quadraticBezierTo(366.65, 663.39, 367.19, 665.53);
    path15.quadraticBezierTo(369.51, 674.64, 371.84, 683.76);
    path15.cubicTo(373.24, 689.25, 375.98, 694.65, 377.75, 700.31);
    path15.quadraticBezierTo(378.82, 703.71, 380.64, 707.31);
    path15.quadraticBezierTo(382.43, 710.88, 383.83, 714.65);
    path15.quadraticBezierTo(384.17, 715.55, 383.43, 714.94);
    path15.cubicTo(382.37, 714.06, 381.93, 713.69, 380.55, 713.27);
    path15.quadraticBezierTo(375.40, 711.71, 373.18, 707.06);
    path15.quadraticBezierTo(368.75, 697.75, 365.91, 692.51);
    path15.cubicTo(364.48, 689.87, 362.56, 688.11, 360.53, 685.94);
    path15.cubicTo(356.68, 681.84, 354.59, 677.30, 349.24, 674.04);
    path15.cubicTo(344.77, 671.31, 342.29, 665.05, 340.84, 660.28);
    path15.cubicTo(338.62, 652.99, 334.75, 648.14, 327.89, 644.60);
    path15.arcTo(Rect.fromLTRB(325.37, 642.97, 328.49, 645.95), -35.5, -180.0, false);
    path15.quadraticBezierTo(322.73, 645.20, 317.82, 643.63);
    path15.cubicTo(312.29, 641.86, 312.08, 638.49, 313.98, 633.62);
    path15.cubicTo(316.30, 627.67, 316.78, 624.46, 314.93, 618.23);
    path15.quadraticBezierTo(312.33, 609.47, 312.56, 600.43);

    canvas.drawPath(path15, paint15);

    final paint16 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path16 = Path();
    path16.moveTo(312.56, 600.43);
    path16.cubicTo(321.68, 576.73, 322.81, 550.79, 314.65, 526.65);
    path16.quadraticBezierTo(306.78, 503.32, 293.11, 482.85);
    path16.cubicTo(279.36, 462.25, 261.01, 445.30, 250.55, 422.95);
    path16.quadraticBezierTo(244.62, 410.30, 230.02, 375.37);
    path16.quadraticBezierTo(223.21, 359.08, 219.97, 353.55);
    path16.cubicTo(214.41, 344.05, 196.27, 326.09, 183.69, 333.97);
    path16.quadraticBezierTo(180.05, 336.25, 176.49, 342.46);
    path16.quadraticBezierTo(170.23, 353.40, 166.51, 365.52);
    path16.quadraticBezierTo(165.97, 367.30, 165.97, 368.52);
    path16.quadraticBezierTo(166.02, 381.85, 166.16, 395.36);
    path16.quadraticBezierTo(166.17, 395.97, 165.58, 395.80);
    path16.quadraticBezierTo(152.46, 392.04, 146.10, 403.87);
    path16.quadraticBezierTo(138.16, 418.63, 139.19, 435.51);
    path16.quadraticBezierTo(140.90, 463.58, 148.33, 490.15);

    canvas.drawPath(path16, paint16);

    final paint17 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path17 = Path();
    path17.moveTo(148.33, 490.15);
    path17.quadraticBezierTo(146.81, 491.45, 146.31, 490.88);
    path17.quadraticBezierTo(145.42, 489.82, 144.24, 489.07);
    path17.quadraticBezierTo(143.81, 488.80, 143.36, 489.03);
    path17.quadraticBezierTo(141.24, 490.09, 139.68, 488.38);
    path17.quadraticBezierTo(139.34, 488.01, 139.00, 488.37);
    path17.quadraticBezierTo(134.42, 493.13, 130.45, 498.42);
    path17.quadraticBezierTo(129.21, 500.07, 126.49, 502.59);
    path17.quadraticBezierTo(122.77, 506.04, 121.07, 510.86);
    path17.cubicTo(119.88, 514.27, 118.54, 516.10, 116.37, 518.58);
    path17.arcTo(Rect.fromLTRB(114.95, 518.34, 117.23, 520.6), 62.7, -180.0, false);
    path17.quadraticBezierTo(116.29, 521.22, 118.09, 521.43);
    path17.quadraticBezierTo(118.56, 521.48, 118.59, 521.95);
    path17.quadraticBezierTo(118.72, 524.19, 117.22, 525.72);
    path17.quadraticBezierTo(116.87, 526.07, 116.70, 526.54);
    path17.lineTo(114.38, 533.14);

    canvas.drawPath(path17, paint17);

    final paint18 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path18 = Path();
    path18.moveTo(480.93, 92.62);
    path18.quadraticBezierTo(449.59, 94.00, 418.49, 98.34);
    path18.quadraticBezierTo(407.71, 99.85, 398.74, 102.76);
    path18.cubicTo(366.38, 113.27, 334.35, 124.40, 306.30, 143.92);
    path18.quadraticBezierTo(297.41, 150.11, 293.14, 153.62);
    path18.quadraticBezierTo(251.13, 188.15, 215.53, 229.19);
    path18.quadraticBezierTo(209.39, 236.26, 203.01, 244.77);
    path18.quadraticBezierTo(184.82, 269.01, 167.58, 293.93);
    path18.cubicTo(159.85, 305.11, 154.63, 314.31, 148.95, 326.00);
    path18.quadraticBezierTo(137.41, 349.72, 125.85, 373.43);
    path18.cubicTo(122.53, 380.23, 119.86, 386.90, 118.25, 393.49);
    path18.quadraticBezierTo(113.22, 414.01, 108.37, 441.51);
    path18.quadraticBezierTo(106.88, 449.95, 106.80, 458.49);
    path18.quadraticBezierTo(106.45, 496.11, 114.38, 533.14);

    canvas.drawPath(path18, paint18);

    final paint19 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path19 = Path();
    path19.moveTo(114.38, 533.14);
    path19.quadraticBezierTo(116.87, 542.54, 120.84, 554.23);
    path19.cubicTo(128.69, 577.33, 137.24, 599.51, 146.42, 621.59);
    path19.cubicTo(169.12, 676.22, 209.87, 720.27, 254.37, 758.55);
    path19.quadraticBezierTo(260.82, 764.10, 270.16, 770.79);
    path19.quadraticBezierTo(282.08, 779.33, 293.64, 788.34);
    path19.cubicTo(304.27, 796.62, 315.31, 801.84, 327.69, 807.74);
    path19.quadraticBezierTo(336.29, 811.83, 346.14, 815.36);
    path19.cubicTo(362.84, 821.34, 379.56, 827.63, 396.58, 832.52);
    path19.quadraticBezierTo(431.30, 842.50, 445.76, 845.44);
    path19.quadraticBezierTo(452.72, 846.85, 457.32, 847.93);
    path19.cubicTo(467.51, 850.33, 473.51, 851.54, 482.43, 850.86);
    path19.arcTo(Rect.fromLTRB(482.3, 849.9599999999999, 482.96, 850.62), 0.0, -180.0, false);
    path19.cubicTo(461.28, 829.92, 445.05, 808.21, 435.85, 779.84);
    path19.quadraticBezierTo(435.69, 779.35, 435.26, 779.07);
    path19.quadraticBezierTo(419.96, 769.27, 409.60, 754.71);
    path19.cubicTo(401.10, 742.79, 393.34, 727.52, 386.17, 712.87);
    path19.cubicTo(374.86, 689.78, 369.53, 665.62, 366.86, 641.18);

    canvas.drawPath(path19, paint19);

    final paint20 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path20 = Path();
    path20.moveTo(366.86, 641.18);
    path20.quadraticBezierTo(365.36, 624.28, 366.02, 613.00);
    path20.quadraticBezierTo(366.42, 606.19, 368.28, 589.66);
    path20.quadraticBezierTo(369.65, 577.53, 371.36, 569.92);
    path20.cubicTo(376.27, 548.19, 385.70, 529.22, 395.25, 509.30);
    path20.cubicTo(398.36, 502.82, 402.03, 497.02, 405.78, 490.98);
    path20.quadraticBezierTo(410.64, 483.18, 415.17, 478.23);
    path20.quadraticBezierTo(421.77, 471.01, 429.91, 464.48);

    canvas.drawPath(path20, paint20);

    final paint21 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path21 = Path();
    path21.moveTo(429.91, 464.48);
    path21.quadraticBezierTo(431.24, 464.07, 433.16, 466.84);

    canvas.drawPath(path21, paint21);

    final paint22 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path22 = Path();
    path22.moveTo(433.16, 466.84);
    path22.lineTo(418.01, 482.53);
    path22.arcTo(Rect.fromLTRB(417.02, 482.84, 418.88, 484.68), -42.3, -180.0, false);
    path22.cubicTo(425.37, 492.88, 433.81, 499.85, 445.47, 508.58);
    path22.quadraticBezierTo(457.91, 517.90, 472.10, 524.30);
    path22.cubicTo(486.99, 531.02, 501.59, 538.23, 517.18, 543.58);
    path22.quadraticBezierTo(528.86, 547.58, 540.46, 551.80);
    path22.cubicTo(547.53, 554.36, 553.26, 555.61, 560.26, 556.24);
    path22.quadraticBezierTo(571.13, 557.21, 581.89, 558.94);
    path22.quadraticBezierTo(595.51, 561.12, 601.70, 561.64);
    path22.cubicTo(621.41, 563.27, 641.79, 563.80, 661.47, 561.60);
    path22.cubicTo(687.78, 558.66, 710.95, 551.15, 734.48, 541.49);
    path22.quadraticBezierTo(743.70, 537.71, 751.38, 531.54);
    path22.arcTo(Rect.fromLTRB(750.6999999999999, 530.26, 751.64, 531.1800000000001), 30.9, -180.0, false);
    path22.quadraticBezierTo(726.93, 526.07, 703.57, 517.93);
    path22.cubicTo(692.24, 513.98, 680.38, 512.17, 669.32, 507.89);
    path22.quadraticBezierTo(652.88, 501.55, 637.07, 493.81);
    path22.cubicTo(625.90, 488.34, 617.40, 482.05, 607.77, 474.26);
    path22.quadraticBezierTo(597.76, 466.16, 591.58, 456.82);

    canvas.drawPath(path22, paint22);

    final paint23 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path23 = Path();
    path23.moveTo(591.58, 456.82);
    path23.cubicTo(581.13, 440.20, 573.62, 416.75, 580.81, 397.77);
    path23.quadraticBezierTo(587.71, 379.55, 604.27, 370.13);
    path23.cubicTo(609.13, 367.37, 615.43, 365.47, 621.08, 363.42);
    path23.cubicTo(628.60, 360.69, 635.74, 360.88, 643.48, 361.54);
    path23.quadraticBezierTo(648.17, 361.94, 653.05, 363.84);
    path23.cubicTo(667.13, 369.30, 680.58, 377.35, 694.03, 384.23);
    path23.cubicTo(708.94, 391.86, 721.69, 400.83, 734.58, 410.79);
    path23.cubicTo(738.11, 413.51, 740.84, 416.72, 744.52, 419.39);
    path23.quadraticBezierTo(757.65, 428.90, 770.25, 438.71);

    canvas.drawPath(path23, paint23);

    final paint24 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path24 = Path();
    path24.moveTo(770.25, 438.71);
    path24.lineTo(800.66, 465.83);
    path24.arcTo(Rect.fromLTRB(800.9599999999999, 465.11, 801.86, 466.01), 0.0, -180.0, false);
    path24.lineTo(802.79, 456.70);
    path24.arcTo(Rect.fromLTRB(801.21, 454.40999999999997, 803.69, 456.89), 0.0, -180.0, false);
    path24.quadraticBezierTo(799.83, 452.98, 795.72, 449.55);
    path24.quadraticBezierTo(785.80, 441.24, 777.19, 435.43);

    canvas.drawPath(path24, paint24);

    final paint25 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path25 = Path();
    path25.moveTo(777.19, 435.43);
    path25.quadraticBezierTo(777.38, 433.82, 781.46, 433.32);

    canvas.drawPath(path25, paint25);

    final paint26 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path26 = Path();
    path26.moveTo(781.46, 433.32);
    path26.cubicTo(803.92, 447.86, 821.57, 465.12, 834.65, 487.40);
    path26.arcTo(Rect.fromLTRB(835.0, 486.91999999999996, 836.0799999999999, 488.0), 0.0, -180.0, false);
    path26.quadraticBezierTo(835.78, 487.16, 835.88, 486.57);
    path26.cubicTo(838.79, 469.39, 839.34, 453.22, 838.06, 435.26);
    path26.quadraticBezierTo(836.29, 410.47, 834.18, 385.71);
    path26.cubicTo(832.95, 371.25, 830.96, 358.03, 827.52, 345.25);
    path26.quadraticBezierTo(825.16, 336.48, 816.03, 305.20);

    canvas.drawPath(path26, paint26);

    final paint27 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path27 = Path();
    path27.moveTo(816.03, 305.20);
    path27.quadraticBezierTo(813.74, 295.18, 811.08, 287.95);
    path27.quadraticBezierTo(795.59, 245.78, 771.11, 206.95);

    canvas.drawPath(path27, paint27);

    final paint28 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path28 = Path();
    path28.moveTo(771.11, 206.95);
    path28.quadraticBezierTo(765.97, 197.90, 761.36, 192.62);
    path28.cubicTo(722.14, 147.63, 670.43, 119.52, 612.64, 108.44);
    path28.quadraticBezierTo(588.04, 103.71, 563.50, 98.53);
    path28.quadraticBezierTo(545.64, 94.75, 523.62, 94.11);

    canvas.drawPath(path28, paint28);

    final paint29 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path29 = Path();
    path29.moveTo(833.54, 549.31);
    path29.quadraticBezierTo(833.31, 548.86, 832.80, 548.70);
    path29.quadraticBezierTo(832.27, 548.53, 832.18, 549.08);
    path29.lineTo(832.07, 549.79);

    canvas.drawPath(path29, paint29);

    final paint30 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path30 = Path();
    path30.moveTo(758.15, 715.36);
    path30.lineTo(749.26, 728.50);

    canvas.drawPath(path30, paint30);

    final paint31 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path31 = Path();
    path31.moveTo(477.31, 88.14);
    path31.lineTo(474.85, 87.05);

    canvas.drawPath(path31, paint31);

    final paint32 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path32 = Path();
    path32.moveTo(498.27, 41.18);
    path32.quadraticBezierTo(498.16, 42.26, 497.65, 42.92);
    path32.arcTo(Rect.fromLTRB(496.58000000000004, 42.4, 497.36, 43.18), 0.0, 180.0, false);
    path32.lineTo(493.95, 32.39);

    canvas.drawPath(path32, paint32);

    final paint33 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path33 = Path();
    path33.moveTo(312.56, 600.43);
    path33.cubicTo(307.51, 609.77, 303.03, 620.94, 295.35, 627.85);
    path33.cubicTo(286.50, 635.81, 272.15, 644.63, 259.75, 645.91);
    path33.cubicTo(231.57, 648.82, 202.17, 635.96, 184.30, 614.51);
    path33.cubicTo(164.67, 590.95, 152.46, 561.34, 146.76, 531.35);
    path33.quadraticBezierTo(144.15, 517.58, 144.10, 511.55);
    path33.quadraticBezierTo(144.00, 500.82, 148.33, 490.15);

    canvas.drawPath(path33, paint33);

    final paint34 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path34 = Path();
    path34.moveTo(816.03, 305.20);
    path34.lineTo(815.76, 305.14);
    path34.arcTo(Rect.fromLTRB(813.75, 305.33, 815.5899999999999, 307.15000000000003), 90.0, -180.0, false);
    path34.cubicTo(817.20, 317.02, 816.80, 327.60, 815.68, 339.29);
    path34.quadraticBezierTo(814.94, 347.06, 812.63, 357.81);
    path34.cubicTo(810.76, 366.50, 809.23, 375.05, 806.80, 383.66);
    path34.cubicTo(803.92, 393.91, 801.35, 406.21, 797.31, 414.09);
    path34.quadraticBezierTo(791.60, 425.21, 781.46, 433.32);

    canvas.drawPath(path34, paint34);

    final paint35 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path35 = Path();
    path35.moveTo(777.19, 435.43);
    path35.lineTo(770.25, 438.71);

    canvas.drawPath(path35, paint35);

    final paint36 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path36 = Path();
    path36.moveTo(591.58, 456.82);
    path36.quadraticBezierTo(576.19, 470.31, 571.34, 474.09);
    path36.quadraticBezierTo(567.13, 477.38, 560.96, 479.87);

    canvas.drawPath(path36, paint36);

    final paint37 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path37 = Path();
    path37.moveTo(560.96, 479.87);
    path37.lineTo(559.94, 478.06);
    path37.quadraticBezierTo(559.72, 477.67, 559.93, 477.28);
    path37.quadraticBezierTo(561.42, 474.50, 561.39, 471.23);
    path37.quadraticBezierTo(561.38, 470.65, 560.81, 470.72);
    path37.lineTo(558.95, 470.96);
    path37.arcTo(Rect.fromLTRB(557.25, 469.62, 558.8900000000001, 471.26), 0.0, 180.0, false);
    path37.lineTo(556.24, 465.63);
    path37.quadraticBezierTo(556.03, 465.10, 555.53, 464.82);
    path37.quadraticBezierTo(552.62, 463.22, 553.53, 459.79);
    path37.arcTo(Rect.fromLTRB(552.2, 457.72, 554.7, 460.14), -51.2, -180.0, false);
    path37.quadraticBezierTo(551.93, 455.87, 551.96, 452.49);
    path37.arcTo(Rect.fromLTRB(551.34, 451.68, 552.42, 452.73999999999995), 30.0, -180.0, false);
    path37.lineTo(548.76, 447.47);
    path37.arcTo(Rect.fromLTRB(546.9300000000001, 446.45000000000005, 548.49, 448.01), 0.0, -180.0, false);
    path37.cubicTo(542.70, 450.22, 536.57, 448.61, 531.12, 448.01);
    path37.quadraticBezierTo(530.61, 447.95, 530.21, 447.62);
    path37.quadraticBezierTo(528.59, 446.24, 527.76, 446.16);
    path37.quadraticBezierTo(517.77, 445.17, 507.73, 444.99);
    path37.quadraticBezierTo(504.38, 444.93, 500.37, 444.05);
    path37.quadraticBezierTo(493.94, 442.64, 487.34, 442.53);
    path37.cubicTo(479.30, 442.40, 472.62, 435.65, 466.88, 429.86);
    path37.quadraticBezierTo(460.06, 422.97, 450.45, 421.13);
    path37.arcTo(Rect.fromLTRB(448.09000000000003, 419.15, 451.11, 422.11), 75.0, 180.0, false);
    path37.quadraticBezierTo(446.93, 417.39, 445.50, 413.49);
    path37.cubicTo(444.45, 410.63, 444.27, 406.14, 442.50, 402.51);
    path37.quadraticBezierTo(438.12, 393.50, 430.15, 387.77);
    path37.quadraticBezierTo(427.86, 386.13, 426.41, 384.20);
    path37.cubicTo(423.03, 379.70, 419.36, 375.84, 416.45, 370.94);
    path37.cubicTo(414.35, 367.40, 411.36, 360.86, 406.57, 361.10);
    path37.arcTo(Rect.fromLTRB(405.88, 360.84000000000003, 406.70000000000005, 361.6), -65.8, -180.0, false);
    path37.lineTo(402.44, 365.25);
    path37.arcTo(Rect.fromLTRB(401.66999999999996, 365.14000000000004, 402.89, 366.32), 64.2, -180.0, false);
    path37.quadraticBezierTo(402.83, 370.71, 400.88, 375.39);
    path37.arcTo(Rect.fromLTRB(400.12, 376.10999999999996, 404.32000000000005, 380.31), 0.0, -180.0, false);
    path37.cubicTo(404.61, 378.92, 404.58, 381.82, 404.37, 384.17);
    path37.quadraticBezierTo(403.70, 391.43, 405.70, 398.01);
    path37.quadraticBezierTo(408.99, 408.84, 410.71, 418.72);
    path37.cubicTo(411.72, 424.48, 414.97, 429.87, 416.94, 435.42);
    path37.quadraticBezierTo(417.78, 437.81, 419.42, 439.62);
    path37.cubicTo(424.08, 444.81, 428.09, 450.05, 433.50, 454.74);
    path37.quadraticBezierTo(442.48, 462.52, 450.06, 471.70);
    path37.cubicTo(450.95, 472.79, 453.84, 474.50, 455.19, 474.84);
    path37.quadraticBezierTo(462.49, 476.68, 469.11, 480.22);
    path37.quadraticBezierTo(469.56, 480.46, 470.07, 480.41);
    path37.cubicTo(473.51, 480.04, 476.25, 481.86, 478.99, 482.29);
    path37.cubicTo(484.06, 483.07, 488.99, 483.02, 493.87, 484.85);
    path37.cubicTo(499.49, 486.95, 503.06, 487.19, 509.11, 486.44);
    path37.cubicTo(517.33, 485.41, 524.82, 486.22, 532.70, 488.06);
    path37.cubicTo(534.56, 488.49, 535.91, 489.52, 537.38, 490.60);

    canvas.drawPath(path37, paint37);

    final paint38 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path38 = Path();
    path38.moveTo(537.38, 490.60);
    path38.cubicTo(519.10, 497.31, 496.52, 492.77, 474.45, 487.97);
    path38.quadraticBezierTo(459.78, 484.78, 455.73, 482.79);
    path38.quadraticBezierTo(443.15, 476.62, 433.16, 466.84);

    canvas.drawPath(path38, paint38);

    final paint39 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path39 = Path();
    path39.moveTo(560.96, 479.87);
    path39.cubicTo(551.93, 484.65, 545.38, 488.62, 537.38, 490.60);

    canvas.drawPath(path39, paint39);

    final paint40 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path40 = Path();
    path40.moveTo(492.00, 51.83);
    path40.quadraticBezierTo(492.36, 49.87, 491.27, 48.30);
    path40.arcTo(Rect.fromLTRB(490.34000000000003, 48.18, 491.0, 48.839999999999996), 0.0, -180.0, false);
    path40.quadraticBezierTo(490.85, 51.19, 491.64, 53.61);
    path40.quadraticBezierTo(492.05, 54.87, 491.97, 53.55);
    path40.lineTo(491.94, 52.93);
    path40.quadraticBezierTo(491.90, 52.37, 492.00, 51.83);

    canvas.drawPath(path40, paint40);

    final paint41 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path41 = Path();
    path41.moveTo(612.28, 471.46);
    path41.cubicTo(630.79, 487.15, 648.22, 493.99, 673.25, 503.71);
    path41.quadraticBezierTo(677.79, 505.47, 690.03, 508.61);
    path41.cubicTo(702.92, 511.92, 716.25, 516.47, 727.51, 519.66);
    path41.quadraticBezierTo(744.12, 524.36, 762.45, 526.31);
    path41.quadraticBezierTo(769.85, 527.10, 775.44, 528.43);
    path41.cubicTo(789.08, 531.67, 802.80, 535.37, 816.27, 538.37);
    path41.cubicTo(831.15, 541.67, 844.00, 544.68, 860.91, 548.23);
    path41.quadraticBezierTo(879.37, 552.11, 896.70, 559.80);
    path41.quadraticBezierTo(900.68, 561.57, 904.49, 559.87);
    path41.arcTo(Rect.fromLTRB(903.92, 557.51, 905.82, 559.3900000000001), 60.1, -180.0, false);
    path41.cubicTo(900.06, 551.87, 894.93, 547.08, 887.83, 541.82);
    path41.quadraticBezierTo(875.44, 532.65, 862.78, 523.72);

    canvas.drawPath(path41, paint41);

    final paint42 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path42 = Path();
    path42.moveTo(862.78, 523.72);
    path42.quadraticBezierTo(838.92, 503.20, 829.40, 496.59);
    path42.quadraticBezierTo(818.46, 488.99, 813.17, 484.08);
    path42.quadraticBezierTo(794.05, 466.36, 774.51, 449.10);
    path42.quadraticBezierTo(767.65, 443.04, 759.05, 436.44);
    path42.cubicTo(738.96, 421.03, 720.24, 404.15, 697.20, 391.42);
    path42.cubicTo(682.02, 383.05, 666.84, 374.20, 650.89, 367.36);
    path42.cubicTo(644.61, 364.66, 636.37, 365.17, 629.71, 365.77);
    path42.quadraticBezierTo(625.09, 366.18, 620.03, 368.08);
    path42.cubicTo(606.32, 373.20, 596.26, 378.13, 588.72, 391.50);
    path42.quadraticBezierTo(584.91, 398.24, 584.17, 400.74);
    path42.quadraticBezierTo(580.66, 412.62, 583.45, 424.75);
    path42.cubicTo(587.65, 443.06, 596.56, 460.05, 612.28, 471.46);

    canvas.drawPath(path42, paint42);

    final paint43 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path43 = Path();
    path43.moveTo(862.78, 523.72);
    path43.quadraticBezierTo(861.94, 525.37, 859.95, 524.29);
    path43.quadraticBezierTo(854.41, 521.28, 852.77, 519.99);
    path43.quadraticBezierTo(851.37, 518.89, 847.78, 518.42);
    path43.cubicTo(843.98, 517.92, 842.14, 516.81, 839.05, 515.09);
    path43.cubicTo(835.80, 513.27, 832.37, 512.58, 828.81, 511.94);
    path43.cubicTo(825.94, 511.43, 823.69, 509.38, 820.66, 508.40);
    path43.quadraticBezierTo(818.18, 507.59, 816.07, 505.97);
    path43.arcTo(Rect.fromLTRB(813.87, 504.44, 816.4499999999999, 506.97999999999996), -28.5, -180.0, false);
    path43.quadraticBezierTo(810.60, 506.18, 809.27, 505.50);
    path43.cubicTo(803.72, 502.64, 793.35, 496.69, 787.13, 498.36);
    path43.cubicTo(779.06, 500.53, 772.31, 498.06, 764.85, 496.57);
    path43.quadraticBezierTo(760.39, 495.68, 753.08, 494.89);
    path43.quadraticBezierTo(742.00, 493.70, 731.10, 491.34);
    path43.cubicTo(724.91, 490.00, 718.46, 487.28, 712.05, 485.30);
    path43.cubicTo(706.81, 483.68, 702.31, 481.02, 697.26, 478.84);
    path43.cubicTo(694.55, 477.67, 692.85, 475.47, 690.44, 473.71);
    path43.quadraticBezierTo(688.50, 472.31, 684.66, 471.04);
    path43.quadraticBezierTo(678.42, 468.98, 674.88, 465.87);
    path43.cubicTo(666.75, 458.72, 661.07, 453.48, 653.68, 449.75);
    path43.cubicTo(650.49, 448.14, 648.52, 445.27, 645.33, 443.34);
    path43.cubicTo(641.86, 441.23, 637.33, 437.96, 634.69, 434.94);
    path43.quadraticBezierTo(629.37, 428.87, 622.86, 424.08);
    path43.cubicTo(614.43, 417.88, 603.82, 424.23, 598.30, 431.00);
    path43.cubicTo(595.26, 434.72, 598.25, 447.53, 599.83, 452.02);
    path43.quadraticBezierTo(600.61, 454.25, 602.14, 456.25);
    path43.cubicTo(604.17, 458.90, 605.78, 460.59, 607.70, 463.92);
    path43.quadraticBezierTo(609.39, 466.83, 612.61, 468.72);
    path43.arcTo(Rect.fromLTRB(611.37, 469.51, 614.9699999999999, 473.09000000000003), 32.8, 180.0, false);
    path43.quadraticBezierTo(613.12, 471.37, 612.28, 471.46);

    canvas.drawPath(path43, paint43);
    final paint44 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path44 = Path();
    path44.moveTo(829.88, 489.30);
    path44.cubicTo(823.57, 478.71, 815.70, 468.77, 807.01, 460.08);
    path44.arcTo(Rect.fromLTRB(806.15, 459.93, 806.7900000000001, 460.57), 0.0, -180.0, false);
    path44.lineTo(805.16, 468.56);
    path44.quadraticBezierTo(805.06, 469.19, 805.51, 469.64);
    path44.quadraticBezierTo(816.66, 480.60, 829.24, 489.88);
    path44.arcTo(Rect.fromLTRB(829.4399999999999, 488.86, 830.32, 489.74), 0.0, -180.0, false);

    canvas.drawPath(path44, paint44);

    final paint45 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path45 = Path();
    path45.moveTo(90.17, 485.05);
    path45.cubicTo(96.67, 493.67, 101.33, 502.92, 106.33, 512.40);
    path45.arcTo(Rect.fromLTRB(106.61999999999999, 511.86000000000007, 107.3, 512.5400000000001), 0.0, -180.0, false);
    path45.lineTo(102.24, 475.46);
    path45.arcTo(Rect.fromLTRB(100.68, 474.48, 101.88, 475.65999999999997), 66.9, -180.0, false);
    path45.lineTo(90.32, 483.83);
    path45.arcTo(Rect.fromLTRB(89.29, 484.18, 91.05, 485.92), 52.3, -180.0, false);

    canvas.drawPath(path45, paint45);

    final paint46 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path46 = Path();
    path46.moveTo(490.55, 736.46);
    path46.cubicTo(491.61, 724.53, 497.13, 707.64, 510.82, 704.89);
    path46.cubicTo(531.59, 700.71, 538.75, 730.15, 540.10, 745.00);
    path46.quadraticBezierTo(541.46, 760.13, 542.81, 775.62);
    path46.arcTo(Rect.fromLTRB(543.2, 775.26, 544.02, 776.0799999999999), 0.0, -180.0, false);
    path46.quadraticBezierTo(545.60, 766.38, 548.34, 757.12);
    path46.cubicTo(551.83, 745.31, 556.09, 737.07, 563.87, 728.35);
    path46.cubicTo(568.22, 723.48, 575.20, 720.72, 581.21, 724.35);
    path46.quadraticBezierTo(585.72, 727.07, 587.65, 731.68);
    path46.quadraticBezierTo(596.13, 752.00, 594.57, 775.39);
    path46.cubicTo(594.12, 782.17, 591.65, 788.70, 589.52, 795.27);
    path46.quadraticBezierTo(588.42, 798.70, 585.56, 809.39);
    path46.cubicTo(582.55, 820.65, 577.57, 834.01, 569.80, 842.93);
    path46.quadraticBezierTo(568.82, 844.05, 570.30, 843.97);
    path46.quadraticBezierTo(597.20, 842.61, 619.76, 832.43);
    path46.quadraticBezierTo(627.13, 829.11, 637.13, 822.58);
    path46.quadraticBezierTo(695.09, 784.76, 738.76, 731.09);
    path46.quadraticBezierTo(744.85, 723.60, 750.61, 715.01);
    path46.quadraticBezierTo(768.05, 689.05, 782.87, 661.51);
    path46.cubicTo(787.07, 653.71, 790.64, 645.18, 794.27, 636.92);
    path46.quadraticBezierTo(797.83, 628.80, 802.72, 618.80);
    path46.quadraticBezierTo(811.26, 601.31, 814.07, 593.28);
    path46.quadraticBezierTo(821.97, 570.67, 826.86, 547.36);
    path46.arcTo(Rect.fromLTRB(825.89, 546.19, 826.9699999999999, 547.25), 11.4, -180.0, false);
    path46.quadraticBezierTo(816.99, 545.01, 807.60, 542.91);
    path46.cubicTo(792.47, 539.53, 775.03, 533.40, 759.72, 532.49);
    path46.quadraticBezierTo(759.22, 532.46, 758.85, 532.81);
    path46.quadraticBezierTo(749.35, 541.80, 739.43, 546.21);
    path46.quadraticBezierTo(729.07, 550.81, 707.49, 557.94);
    path46.quadraticBezierTo(688.56, 564.19, 665.69, 566.99);
    path46.cubicTo(645.41, 569.47, 624.26, 568.72, 603.95, 567.01);
    path46.quadraticBezierTo(596.08, 566.35, 584.10, 564.62);
    path46.quadraticBezierTo(569.06, 562.46, 554.03, 560.30);
    path46.quadraticBezierTo(545.75, 559.11, 538.84, 556.39);
    path46.cubicTo(527.19, 551.79, 515.14, 548.00, 504.61, 543.32);
    path46.quadraticBezierTo(487.93, 535.90, 471.36, 528.21);
    path46.cubicTo(454.28, 520.29, 439.76, 509.71, 426.09, 497.13);
    path46.quadraticBezierTo(420.48, 491.95, 416.56, 486.08);
    path46.quadraticBezierTo(415.88, 485.05, 415.13, 486.03);
    path46.cubicTo(403.19, 501.63, 394.93, 520.76, 386.93, 538.59);
    path46.quadraticBezierTo(377.01, 560.73, 373.72, 584.77);
    path46.quadraticBezierTo(371.72, 599.46, 371.10, 614.24);
    path46.cubicTo(369.73, 647.03, 375.60, 680.17, 389.69, 709.79);
    path46.cubicTo(399.64, 730.70, 410.47, 751.08, 426.17, 768.07);
    path46.quadraticBezierTo(429.25, 771.41, 432.87, 773.97);
    path46.arcTo(Rect.fromLTRB(433.11, 773.1, 433.97, 773.9599999999999), 0.0, -180.0, false);
    path46.quadraticBezierTo(430.73, 760.72, 430.86, 747.45);
    path46.cubicTo(430.92, 740.32, 434.68, 736.07, 440.37, 732.13);
    path46.cubicTo(461.78, 717.27, 486.21, 766.85, 492.53, 780.35);
    path46.arcTo(Rect.fromLTRB(492.86999999999995, 779.9599999999999, 493.81, 780.9), 0.0, -180.0, false);
    path46.quadraticBezierTo(493.70, 779.92, 493.49, 778.99);
    path46.quadraticBezierTo(488.65, 757.90, 490.55, 736.46);

    canvas.drawPath(path46, paint46);

    final paint47 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path47 = Path();
    path47.moveTo(140.71, 644.78);
    path47.quadraticBezierTo(143.80, 649.49, 140.19, 645.17);
    path47.quadraticBezierTo(111.31, 610.64, 86.43, 571.53);
    path47.quadraticBezierTo(73.09, 550.56, 62.63, 528.37);
    path47.arcTo(Rect.fromLTRB(60.59, 527.68, 62.03, 529.12), 0.0, -180.0, false);
    path47.quadraticBezierTo(53.62, 546.57, 49.61, 565.81);
    path47.quadraticBezierTo(47.81, 574.46, 48.19, 580.31);
    path47.cubicTo(48.93, 591.67, 53.95, 602.62, 59.79, 611.96);
    path47.quadraticBezierTo(75.58, 637.18, 94.67, 661.51);
    path47.quadraticBezierTo(100.24, 668.60, 107.77, 676.59);
    path47.quadraticBezierTo(122.49, 692.20, 137.10, 707.90);
    path47.quadraticBezierTo(155.80, 728.00, 175.25, 740.98);
    path47.quadraticBezierTo(196.36, 755.08, 217.41, 769.30);
    path47.quadraticBezierTo(267.73, 803.31, 326.09, 814.27);
    path47.quadraticBezierTo(328.80, 814.78, 326.35, 813.53);
    path47.cubicTo(313.61, 807.01, 300.66, 801.35, 289.39, 792.62);
    path47.quadraticBezierTo(273.70, 780.46, 257.81, 768.58);
    path47.cubicTo(244.36, 758.53, 232.50, 746.39, 220.41, 734.72);
    path47.cubicTo(202.62, 717.55, 185.84, 697.38, 172.30, 678.69);
    path47.quadraticBezierTo(153.75, 653.07, 141.06, 620.45);
    path47.cubicTo(129.31, 590.25, 117.23, 560.21, 109.80, 528.57);
    path47.cubicTo(108.82, 524.44, 105.62, 521.17, 103.79, 517.56);
    path47.quadraticBezierTo(96.22, 502.62, 87.49, 488.50);
    path47.arcTo(Rect.fromLTRB(84.59, 487.17, 86.87, 489.41), 51.5, -180.0, false);
    path47.quadraticBezierTo(71.54, 502.59, 64.46, 521.46);
    path47.quadraticBezierTo(64.28, 521.95, 64.52, 522.41);
    path47.cubicTo(87.36, 565.37, 114.81, 605.25, 140.71, 644.78);

    canvas.drawPath(path47, paint47);

    final paint48 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path48 = Path();
    path48.moveTo(751.77, 747.94);
    path48.cubicTo(746.27, 759.10, 743.46, 767.93, 742.06, 779.58);
    path48.quadraticBezierTo(741.90, 780.91, 743.24, 780.93);
    path48.lineTo(750.99, 781.01);
    path48.arcTo(Rect.fromLTRB(750.92, 778.8499999999999, 753.58, 781.49), -78.5, -180.0, false);
    path48.quadraticBezierTo(760.87, 758.31, 774.39, 738.88);
    path48.cubicTo(779.71, 731.24, 785.37, 722.41, 791.15, 716.20);
    path48.quadraticBezierTo(801.63, 704.91, 815.31, 697.75);
    path48.arcTo(Rect.fromLTRB(814.24, 693.71, 818.8399999999999, 698.31), 0.0, -180.0, false);
    path48.quadraticBezierTo(817.55, 688.75, 816.59, 680.99);
    path48.cubicTo(816.36, 679.15, 815.61, 677.75, 813.74, 677.48);
    path48.cubicTo(805.41, 676.31, 794.94, 683.61, 789.16, 688.78);
    path48.quadraticBezierTo(784.02, 693.38, 776.90, 704.14);
    path48.quadraticBezierTo(762.93, 725.24, 751.77, 747.94);

    canvas.drawPath(path48, paint48);

    final paint49 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path49 = Path();
    path49.moveTo(758.66, 782.17);
    path49.cubicTo(757.48, 785.15, 754.85, 788.60, 751.25, 788.10);
    path49.quadraticBezierTo(745.00, 787.25, 738.77, 786.36);
    path49.quadraticBezierTo(722.00, 783.96, 707.22, 775.69);
    path49.quadraticBezierTo(706.72, 775.41, 706.29, 775.79);
    path49.lineTo(678.32, 800.57);
    path49.arcTo(Rect.fromLTRB(677.4, 800.99, 679.18, 802.77), 0.0, -180.0, false);
    path49.quadraticBezierTo(682.35, 805.73, 687.78, 807.40);
    path49.quadraticBezierTo(700.68, 811.37, 713.77, 814.65);
    path49.quadraticBezierTo(719.67, 816.13, 726.99, 815.39);
    path49.cubicTo(748.51, 813.19, 767.28, 809.49, 783.56, 795.18);
    path49.quadraticBezierTo(789.25, 790.18, 796.57, 780.05);
    path49.quadraticBezierTo(809.18, 762.62, 817.57, 747.80);
    path49.cubicTo(823.76, 736.88, 828.32, 723.02, 826.37, 710.91);
    path49.cubicTo(825.42, 704.97, 822.24, 701.12, 815.97, 704.74);
    path49.quadraticBezierTo(800.71, 713.54, 790.64, 727.37);
    path49.cubicTo(777.98, 744.77, 767.17, 760.58, 758.66, 782.17);

    canvas.drawPath(path49, paint49);

    final paint50 = Paint()
      ..color = const Color(0xFF000000)
      ..style = PaintingStyle.fill
      ..strokeWidth = 1;

    var path50 = Path();
    path50.moveTo(440.41, 779.46);
    path50.cubicTo(446.88, 801.11, 462.28, 822.72, 477.87, 838.71);
    path50.cubicTo(486.49, 847.55, 495.88, 853.42, 506.88, 858.34);
    path50.cubicTo(511.53, 860.42, 513.45, 861.36, 518.00, 861.26);
    path50.quadraticBezierTo(528.48, 861.03, 531.96, 860.56);
    path50.quadraticBezierTo(543.23, 859.06, 551.98, 852.01);
    path50.quadraticBezierTo(562.22, 843.76, 569.22, 834.65);

预览一下当前的效果:

在这里插入图片描述

掘金字数过于限制,请点击原文链接获取剩余代码:jclee95.blog.csdn.net/article/det…

jclee95.blog.csdn.net/article/det…