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

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

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

另见:
上上篇文章:《完全基于Flutter绘图技术绘制一个精美的Dart语言吉祥物Dash(上)》
上一篇文章:《完全基于Flutter绘图技术绘制一个精美的Dart语言吉祥物Dash(中)》


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

目 录

      • 继续
      • 最后效果如下
    • 后记:我难道会一条一条写吗?

什么也不用多说了,今天我是来炫技的。完全基于Flutter绘图技术绘制一个精美的Dart吉祥物Dash


(上一篇博文中):

1. 上代码
第一部分:基本页面框架
第二部分:Dash 绘制器


(接续上一篇博文)

    var path150 = Path();path150.moveTo(696.04, 618.43);path150.quadraticBezierTo(706.75, 622.64, 713.05, 630.73);path150.quadraticBezierTo(724.82, 645.85, 736.52, 660.91);path150.arcTo(Rect.fromLTRB(734.73, 660.3, 739.19, 664.7), 29.8, 180.0, false);path150.lineTo(728.95, 728.25);path150.arcTo(Rect.fromLTRB(727.3000000000001, 728.13, 729.12, 729.93), -1.8, 180.0, false);path150.lineTo(705.20, 733.43);path150.quadraticBezierTo(704.74, 731.47, 705.43, 730.23);path150.quadraticBezierTo(710.20, 721.68, 715.10, 713.74);path150.arcTo(Rect.fromLTRB(711.58, 706.81, 719.64, 714.77), -35.6, -180.0, false);path150.lineTo(710.56, 687.25);path150.cubicTo(715.32, 685.70, 717.93, 683.03, 722.02, 680.42);path150.quadraticBezierTo(722.47, 680.13, 722.96, 680.36);path150.lineTo(728.74, 683.12);path150.arcTo(Rect.fromLTRB(728.78, 681.38, 730.0799999999999, 682.68), 0.0, -180.0, false);path150.lineTo(724.96, 678.46);path150.quadraticBezierTo(724.44, 678.04, 724.99, 677.65);path150.quadraticBezierTo(726.67, 676.46, 727.02, 674.31);path150.quadraticBezierTo(727.12, 673.65, 726.52, 673.38);path150.lineTo(723.27, 671.89);path150.quadraticBezierTo(722.76, 671.65, 722.23, 671.84);path150.lineTo(716.84, 673.78);path150.arcTo(Rect.fromLTRB(714.71, 675.22, 718.3299999999999, 678.8399999999999), 0.0, -180.0, false);path150.lineTo(719.52, 678.84);path150.arcTo(Rect.fromLTRB(719.0500000000001, 679.1800000000001, 720.09, 680.2), 41.7, 180.0, false);path150.lineTo(712.85, 684.81);path150.arcTo(Rect.fromLTRB(711.05, 683.28, 712.47, 684.7), 0.0, 180.0, false);path150.lineTo(714.95, 675.80);path150.arcTo(Rect.fromLTRB(714.0600000000001, 674.34, 715.92, 676.14), 50.2, -180.0, false);path150.lineTo(714.64, 673.79);path150.arcTo(Rect.fromLTRB(714.0300000000001, 671.96, 715.87, 673.78), 64.0, 180.0, false);path150.lineTo(719.50, 669.16);path150.arcTo(Rect.fromLTRB(717.99, 666.97, 719.5899999999999, 668.5699999999999), 0.0, -180.0, false);path150.lineTo(709.58, 670.30);path150.arcTo(Rect.fromLTRB(708.73, 670.79, 710.01, 672.0699999999999), 0.0, -180.0, false);path150.lineTo(710.65, 672.38);path150.quadraticBezierTo(711.16, 672.76, 710.65, 673.14);path150.lineTo(708.19, 674.98);path150.quadraticBezierTo(706.00, 671.80, 707.52, 668.37);path150.quadraticBezierTo(709.32, 668.95, 709.53, 667.50);path150.quadraticBezierTo(709.81, 665.65, 710.17, 664.49);path150.arcTo(Rect.fromLTRB(710.4799999999999, 664.2199999999999, 711.14, 664.88), 0.0, 180.0, false);path150.quadraticBezierTo(711.00, 666.02, 712.30, 666.18);path150.quadraticBezierTo(713.21, 666.29, 714.09, 665.48);path150.quadraticBezierTo(715.64, 664.04, 716.73, 662.09);path150.quadraticBezierTo(717.00, 661.60, 716.45, 661.48);path150.quadraticBezierTo(714.15, 660.95, 712.05, 662.03);path150.arcTo(Rect.fromLTRB(710.8900000000001, 660.5500000000001, 712.01, 661.65), 12.3, 180.0, false);path150.quadraticBezierTo(715.32, 658.09, 718.97, 661.10);path150.quadraticBezierTo(719.47, 661.51, 719.19, 662.08);path150.lineTo(717.32, 666.06);path150.arcTo(Rect.fromLTRB(717.4200000000001, 666.33, 718.78, 667.6899999999999), 0.0, -180.0, false);path150.cubicTo(720.62, 666.38, 723.03, 665.36, 724.32, 662.90);path150.quadraticBezierTo(726.71, 658.33, 726.35, 653.90);path150.arcTo(Rect.fromLTRB(720.94, 651.12, 724.76, 654.92), 59.1, -180.0, false);path150.quadraticBezierTo(721.43, 655.22, 721.13, 658.02);path150.quadraticBezierTo(721.05, 658.77, 720.45, 658.32);path150.lineTo(718.96, 657.21);path150.quadraticBezierTo(718.62, 656.96, 718.21, 657.06);path150.lineTo(712.56, 658.49);path150.arcTo(Rect.fromLTRB(711.08, 657.26, 712.4, 658.5799999999999), 0.0, 180.0, false);path150.quadraticBezierTo(711.58, 656.26, 713.18, 656.27);path150.quadraticBezierTo(713.75, 656.27, 714.15, 655.86);path150.lineTo(714.80, 655.19);path150.arcTo(Rect.fromLTRB(713.86, 653.9, 714.84, 654.86), 16.1, -180.0, false);path150.quadraticBezierTo(712.80, 654.70, 711.55, 653.83);path150.arcTo(Rect.fromLTRB(709.8199999999999, 653.27, 711.28, 654.73), 0.0, -180.0, false);path150.lineTo(709.48, 655.45);path150.arcTo(Rect.fromLTRB(707.9499999999999, 654.89, 709.15, 656.07), 42.9, 180.0, false);path150.quadraticBezierTo(706.62, 653.23, 703.57, 656.30);path150.quadraticBezierTo(700.52, 643.33, 697.64, 630.98);path150.quadraticBezierTo(695.87, 623.41, 696.04, 618.43);path150.close();path150.moveTo(712.01, 668.37);path150.lineTo(713.32, 668.08);path150.quadraticBezierTo(713.78, 667.98, 713.67, 667.53);path150.quadraticBezierTo(713.54, 666.98, 712.75, 666.97);path150.quadraticBezierTo(711.78, 666.96, 711.42, 667.35);path150.arcTo(Rect.fromLTRB(711.39, 667.75, 712.63, 668.99), 0.0, -180.0, false);path150.close();canvas.drawPath(path150, paint150);final paint151 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path151 = Path();path151.moveTo(576.22, 686.84);path151.quadraticBezierTo(573.93, 687.68, 571.64, 686.34);path151.arcTo(Rect.fromLTRB(571.14, 683.87, 572.88, 685.59), 58.1, 180.0, false);path151.lineTo(574.29, 684.57);path151.quadraticBezierTo(575.03, 684.87, 575.34, 684.13);path151.quadraticBezierTo(575.53, 683.65, 575.11, 683.35);path151.quadraticBezierTo(573.76, 682.36, 574.48, 680.76);path151.arcTo(Rect.fromLTRB(573.61, 679.36, 574.85, 680.6), 0.0, -180.0, false);path151.cubicTo(570.71, 677.89, 575.29, 674.86, 576.63, 673.31);path151.quadraticBezierTo(577.01, 672.87, 576.53, 672.53);path151.quadraticBezierTo(575.67, 671.93, 575.09, 672.56);path151.quadraticBezierTo(573.76, 673.99, 572.41, 674.55);path151.arcTo(Rect.fromLTRB(570.9, 673.53, 572.1999999999999, 674.8299999999999), 0.0, 180.0, false);path151.cubicTo(570.25, 670.77, 573.93, 670.35, 576.49, 669.98);path151.arcTo(Rect.fromLTRB(576.38, 668.64, 577.84, 670.08), -0.6, -180.0, false);path151.lineTo(577.85, 664.04);path151.quadraticBezierTo(577.95, 663.34, 577.36, 663.73);path151.cubicTo(572.33, 667.04, 566.51, 670.64, 561.60, 666.96);path151.arcTo(Rect.fromLTRB(560.79, 665.02, 562.31, 666.54), 0.0, 180.0, false);path151.quadraticBezierTo(563.08, 664.41, 565.50, 664.21);path151.quadraticBezierTo(572.49, 663.63, 578.54, 660.13);path151.arcTo(Rect.fromLTRB(577.79, 658.04, 580.51, 660.72), -6.2, -180.0, false);path151.cubicTo(579.97, 656.95, 582.96, 649.08, 586.18, 650.06);path151.quadraticBezierTo(589.64, 651.11, 589.95, 654.32);path151.arcTo(Rect.fromLTRB(588.44, 653.96, 590.94, 656.4200000000001), 62.3, 180.0, false);path151.quadraticBezierTo(586.84, 658.88, 584.04, 660.14);path151.quadraticBezierTo(579.45, 662.20, 580.71, 667.18);path151.quadraticBezierTo(580.86, 667.79, 581.49, 667.68);path151.lineTo(583.37, 667.33);path151.arcTo(Rect.fromLTRB(583.2900000000001, 668.08, 585.61, 670.4), 0.0, 180.0, false);path151.quadraticBezierTo(580.90, 673.26, 576.15, 676.16);path151.arcTo(Rect.fromLTRB(576.0600000000001, 677.5, 579.58, 681.02), 0.0, -180.0, false);path151.quadraticBezierTo(579.46, 678.48, 581.38, 678.55);path151.arcTo(Rect.fromLTRB(580.9, 679.32, 582.6999999999999, 681.12), 0.0, 180.0, false);path151.lineTo(579.18, 681.74);path151.quadraticBezierTo(578.73, 682.00, 578.79, 682.51);path151.quadraticBezierTo(579.10, 685.56, 576.22, 686.84);path151.close();path151.moveTo(581.43, 658.14);path151.quadraticBezierTo(581.29, 658.91, 582.05, 658.74);path151.quadraticBezierTo(586.04, 657.86, 587.98, 654.26);path151.arcTo(Rect.fromLTRB(586.95, 652.37, 588.69, 654.09), -54.1, -180.0, false);path151.lineTo(585.99, 651.44);path151.arcTo(Rect.fromLTRB(583.89, 650.62, 585.61, 652.34), 0.0, -180.0, false);path151.quadraticBezierTo(582.17, 654.32, 581.43, 658.14);path151.close();canvas.drawPath(path151, paint151);final paint152 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path152 = Path();path152.moveTo(595.32, 673.75);path152.quadraticBezierTo(594.01, 672.79, 595.15, 670.83);path152.quadraticBezierTo(601.57, 664.42, 603.83, 656.45);path152.cubicTo(604.37, 654.53, 603.68, 653.33, 603.13, 651.49);path152.arcTo(Rect.fromLTRB(603.49, 649.91, 604.97, 651.39), 0.0, 180.0, false);path152.quadraticBezierTo(608.40, 653.31, 608.88, 658.26);path152.arcTo(Rect.fromLTRB(609.15, 658.11, 609.91, 658.85), -25.8, -180.0, false);path152.quadraticBezierTo(613.22, 654.65, 617.29, 651.30);path152.quadraticBezierTo(618.32, 650.45, 619.02, 651.28);path152.arcTo(Rect.fromLTRB(618.24, 651.53, 619.72, 652.99), -43.2, 180.0, false);path152.lineTo(611.00, 660.52);path152.arcTo(Rect.fromLTRB(611.11, 660.72, 611.89, 661.5), 0.0, -180.0, false);path152.quadraticBezierTo(616.14, 657.96, 620.78, 654.88);path152.cubicTo(621.78, 654.21, 622.97, 654.01, 623.85, 654.82);path152.arcTo(Rect.fromLTRB(623.22, 655.12, 624.48, 656.38), 0.0, 180.0, false);path152.lineTo(612.98, 665.73);path152.arcTo(Rect.fromLTRB(613.04, 665.97, 613.8199999999999, 666.75), 0.0, -180.0, false);path152.cubicTo(615.01, 665.51, 617.86, 662.70, 619.65, 662.60);path152.arcTo(Rect.fromLTRB(619.4399999999999, 663.3199999999999, 621.6, 665.48), 0.0, 180.0, false);path152.lineTo(612.52, 673.45);path152.quadraticBezierTo(610.71, 675.49, 613.30, 674.64);path152.lineTo(620.00, 672.43);path152.arcTo(Rect.fromLTRB(620.37, 672.8499999999999, 623.2700000000001, 675.75), 0.0, 180.0, false);path152.quadraticBezierTo(621.18, 676.12, 619.74, 677.45);path152.arcTo(Rect.fromLTRB(619.55, 677.9699999999999, 620.95, 679.37), 0.0, -180.0, false);path152.quadraticBezierTo(621.85, 678.59, 622.97, 679.64);path152.arcTo(Rect.fromLTRB(622.2900000000001, 679.96, 623.65, 681.3199999999999), 0.0, 180.0, false);path152.quadraticBezierTo(617.81, 685.39, 611.42, 688.23);path152.arcTo(Rect.fromLTRB(610.46, 687.6500000000001, 611.3199999999999, 688.49), -27.6, 180.0, false);path152.quadraticBezierTo(610.76, 687.86, 610.78, 687.69);path152.quadraticBezierTo(610.79, 687.57, 610.94, 687.47);path152.quadraticBezierTo(615.21, 684.78, 618.83, 681.26);path152.quadraticBezierTo(619.43, 680.67, 619.31, 680.47);path152.arcTo(Rect.fromLTRB(615.8100000000001, 678.79, 618.57, 681.55), 0.0, -180.0, false);path152.cubicTo(615.06, 682.14, 611.66, 684.95, 609.18, 681.76);path152.arcTo(Rect.fromLTRB(608.44, 677.76, 611.56, 680.8599999999999), 63.5, 180.0, false);path152.cubicTo(612.55, 678.61, 617.06, 678.39, 617.89, 675.48);path152.arcTo(Rect.fromLTRB(616.8699999999999, 674.51, 617.75, 675.3900000000001), 0.0, -180.0, false);path152.lineTo(610.02, 677.74);path152.quadraticBezierTo(609.39, 677.98, 609.31, 677.31);path152.cubicTo(609.00, 674.63, 612.42, 671.00, 613.75, 668.71);path152.quadraticBezierTo(614.49, 667.42, 613.31, 668.33);path152.lineTo(609.19, 671.53);path152.arcTo(Rect.fromLTRB(606.44, 668.85, 608.7, 671.11), 0.0, 180.0, false);path152.lineTo(611.33, 664.70);path152.arcTo(Rect.fromLTRB(610.62, 663.9300000000001, 611.2399999999999, 664.55), 0.0, -180.0, false);path152.lineTo(608.65, 665.41);path152.arcTo(Rect.fromLTRB(606.91, 664.45, 609.11, 666.5699999999999), 34.9, 180.0, false);path152.lineTo(606.28, 665.21);path152.arcTo(Rect.fromLTRB(604.37, 664.5899999999999, 606.33, 666.53), 24.2, -180.0, false);path152.lineTo(600.96, 671.00);path152.arcTo(Rect.fromLTRB(600.2800000000001, 671.15, 601.6, 672.4499999999999), 46.6, -180.0, false);path152.lineTo(602.11, 673.36);path152.arcTo(Rect.fromLTRB(602.4799999999999, 672.75, 603.62, 673.8699999999999), -47.7, -180.0, false);path152.cubicTo(603.83, 672.00, 604.68, 668.80, 606.55, 669.06);path152.arcTo(Rect.fromLTRB(606.45, 669.23, 607.49, 670.27), 0.0, 180.0, false);path152.quadraticBezierTo(606.12, 672.14, 605.24, 674.43);path152.cubicTo(604.06, 677.50, 604.65, 680.37, 603.83, 683.54);path152.arcTo(Rect.fromLTRB(600.39, 682.75, 602.89, 685.25), 0.0, 180.0, false);path152.cubicTo(599.66, 681.47, 599.68, 676.68, 599.26, 673.57);path152.arcTo(Rect.fromLTRB(598.23, 672.85, 599.0699999999999, 673.67), 71.9, -180.0, false);path152.quadraticBezierTo(596.51, 674.41, 595.32, 673.75);path152.close();canvas.drawPath(path152, paint152);final paint153 = Paint()..color = const Color(0xFF0c7bb7)..style = PaintingStyle.fill..strokeWidth = 1;var path153 = Path();path153.moveTo(581.43, 658.14);path153.quadraticBezierTo(582.17, 654.32, 584.75, 651.48);path153.arcTo(Rect.fromLTRB(585.13, 650.58, 586.85, 652.3000000000001), 0.0, 180.0, false);path153.lineTo(587.82, 653.23);path153.arcTo(Rect.fromLTRB(587.11, 653.4, 588.85, 655.12), -54.1, 180.0, false);path153.quadraticBezierTo(586.04, 657.86, 582.05, 658.74);path153.quadraticBezierTo(581.29, 658.91, 581.43, 658.14);path153.close();canvas.drawPath(path153, paint153);final paint154 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path154 = Path();path154.moveTo(650.59, 666.30);path154.lineTo(650.00, 675.72);path154.quadraticBezierTo(649.97, 676.26, 650.47, 676.44);path154.cubicTo(654.39, 677.84, 660.72, 680.05, 656.73, 685.59);path154.arcTo(Rect.fromLTRB(654.5, 684.2, 656.0999999999999, 685.8), 0.0, 180.0, false);path154.lineTo(655.66, 682.71);path154.arcTo(Rect.fromLTRB(654.49, 681.1899999999999, 655.97, 682.67), 0.0, -180.0, false);path154.lineTo(650.97, 680.07);path154.arcTo(Rect.fromLTRB(649.77, 679.97, 650.77, 680.97), 0.0, -180.0, false);path154.lineTo(649.90, 683.92);path154.arcTo(Rect.fromLTRB(648.5699999999999, 683.76, 650.25, 685.44), 0.0, 180.0, false);path154.lineTo(645.60, 686.35);path154.quadraticBezierTo(645.02, 686.62, 644.58, 686.16);path154.lineTo(640.48, 681.93);path154.arcTo(Rect.fromLTRB(639.49, 680.3100000000001, 641.1099999999999, 681.91), -57.9, 180.0, false);path154.cubicTo(641.31, 678.21, 644.40, 677.57, 646.84, 676.39);path154.arcTo(Rect.fromLTRB(646.4, 674.6099999999999, 648.34, 676.51), 78.3, -180.0, false);path154.lineTo(647.58, 668.47);path154.quadraticBezierTo(647.60, 667.80, 647.02, 668.12);path154.cubicTo(644.05, 669.72, 636.40, 674.18, 633.26, 672.77);path154.arcTo(Rect.fromLTRB(631.98, 669.1600000000001, 634.54, 671.72), 0.0, 180.0, false);path154.quadraticBezierTo(639.89, 667.45, 646.73, 663.72);path154.quadraticBezierTo(647.72, 663.18, 647.84, 661.85);path154.lineTo(648.22, 653.19);path154.arcTo(Rect.fromLTRB(649.02, 652.1, 650.72, 653.8000000000001), 0.0, 180.0, false);path154.quadraticBezierTo(650.94, 656.02, 650.72, 659.27);path154.arcTo(Rect.fromLTRB(650.83, 659.2900000000001, 651.65, 660.09), 83.6, -180.0, false);path154.quadraticBezierTo(652.46, 659.34, 652.26, 657.99);path154.quadraticBezierTo(652.00, 656.24, 652.17, 654.90);path154.arcTo(Rect.fromLTRB(652.4599999999999, 654.12, 653.4, 655.0600000000001), 0.0, 180.0, false);path154.quadraticBezierTo(656.32, 657.32, 653.97, 661.23);path154.quadraticBezierTo(652.17, 664.24, 650.59, 666.30);path154.close();canvas.drawPath(path154, paint154);final paint155 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path155 = Path();path155.moveTo(707.52, 668.37);path155.lineTo(706.89, 667.52);path155.arcTo(Rect.fromLTRB(705.9399999999999, 667.18, 706.66, 667.9), 0.0, -180.0, false);path155.quadraticBezierTo(705.06, 669.51, 702.85, 670.16);path155.arcTo(Rect.fromLTRB(701.3199999999999, 668.5699999999999, 702.7, 669.95), 0.0, 180.0, false);path155.quadraticBezierTo(703.49, 665.14, 707.38, 663.11);path155.quadraticBezierTo(707.87, 662.85, 707.41, 662.53);path155.quadraticBezierTo(707.02, 662.26, 706.50, 662.49);path155.quadraticBezierTo(702.49, 664.23, 698.80, 665.24);path155.arcTo(Rect.fromLTRB(697.55, 663.16, 699.01, 664.62), 0.0, 180.0, false);path155.quadraticBezierTo(703.40, 661.26, 708.27, 659.59);path155.quadraticBezierTo(709.46, 659.18, 709.52, 657.83);path155.quadraticBezierTo(709.55, 657.11, 708.88, 657.36);path155.lineTo(702.93, 659.52);path155.arcTo(Rect.fromLTRB(701.02, 657.4399999999999, 702.74, 659.16), 0.0, 180.0, false);path155.quadraticBezierTo(702.75, 656.72, 703.57, 656.30);path155.quadraticBezierTo(706.62, 653.23, 708.55, 655.48);path155.arcTo(Rect.fromLTRB(708.88, 654.86, 710.08, 656.0400000000001), 42.9, -180.0, false);path155.lineTo(710.55, 654.00);path155.arcTo(Rect.fromLTRB(710.8199999999999, 653.1, 712.28, 654.5600000000001), 0.0, 180.0, false);path155.quadraticBezierTo(712.80, 654.70, 714.35, 654.38);path155.arcTo(Rect.fromLTRB(714.31, 654.71, 715.29, 655.6700000000001), 16.1, 180.0, false);path155.lineTo(714.15, 655.86);path155.quadraticBezierTo(713.75, 656.27, 713.18, 656.27);path155.quadraticBezierTo(711.58, 656.26, 711.74, 657.92);path155.arcTo(Rect.fromLTRB(711.9, 657.83, 713.2199999999999, 659.15), 0.0, -180.0, false);path155.lineTo(718.21, 657.06);path155.quadraticBezierTo(718.62, 656.96, 718.96, 657.21);path155.lineTo(720.45, 658.32);path155.quadraticBezierTo(721.05, 658.77, 721.13, 658.02);path155.quadraticBezierTo(721.43, 655.22, 722.85, 653.02);path155.arcTo(Rect.fromLTRB(724.44, 652.0, 728.26, 655.8), 59.1, 180.0, false);path155.quadraticBezierTo(726.71, 658.33, 724.32, 662.90);path155.cubicTo(723.03, 665.36, 720.62, 666.38, 718.10, 667.01);path155.arcTo(Rect.fromLTRB(716.6400000000001, 665.38, 718.0, 666.7399999999999), 0.0, 180.0, false);path155.lineTo(719.19, 662.08);path155.quadraticBezierTo(719.47, 661.51, 718.97, 661.10);path155.quadraticBezierTo(715.32, 658.09, 711.45, 661.10);path155.arcTo(Rect.fromLTRB(711.49, 661.48, 712.6099999999999, 662.5799999999999), 12.3, -180.0, false);path155.quadraticBezierTo(714.15, 660.95, 716.45, 661.48);path155.quadraticBezierTo(717.00, 661.60, 716.73, 662.09);path155.quadraticBezierTo(715.64, 664.04, 714.09, 665.48);path155.quadraticBezierTo(713.21, 666.29, 712.30, 666.18);path155.quadraticBezierTo(711.00, 666.02, 710.81, 664.55);path155.arcTo(Rect.fromLTRB(709.8399999999999, 664.16, 710.5, 664.82), 0.0, -180.0, false);path155.quadraticBezierTo(709.81, 665.65, 709.53, 667.50);path155.quadraticBezierTo(709.32, 668.95, 707.52, 668.37);path155.close();canvas.drawPath(path155, paint155);final paint156 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path156 = Path();path156.moveTo(484.77, 676.97);path156.cubicTo(484.70, 672.73, 491.09, 669.21, 494.43, 668.37);path156.arcTo(Rect.fromLTRB(494.61, 669.02, 497.53, 671.94), 0.0, 180.0, false);path156.quadraticBezierTo(493.40, 675.39, 488.01, 677.00);path156.arcTo(Rect.fromLTRB(487.41, 677.5, 488.53000000000003, 678.6199999999999), 0.0, -180.0, false);path156.quadraticBezierTo(492.12, 679.63, 496.51, 678.70);path156.arcTo(Rect.fromLTRB(496.38000000000005, 679.0, 497.06, 679.6800000000001), 0.0, 180.0, false);path156.cubicTo(493.32, 680.91, 488.07, 682.36, 485.26, 679.09);path156.quadraticBezierTo(484.91, 678.69, 484.43, 678.91);path156.quadraticBezierTo(476.80, 682.31, 470.07, 680.68);path156.cubicTo(463.41, 679.07, 470.76, 659.62, 472.52, 655.92);path156.arcTo(Rect.fromLTRB(473.25, 654.85, 475.21000000000004, 656.7900000000001), 41.6, 180.0, false);path156.cubicTo(477.94, 661.77, 472.55, 669.80, 470.30, 675.66);path156.arcTo(Rect.fromLTRB(470.21, 676.11, 472.71, 678.59), 10.7, -180.0, false);path156.lineTo(484.32, 677.43);path156.quadraticBezierTo(484.78, 677.43, 484.77, 676.97);path156.close();path156.moveTo(493.4489, 670.8095);path156.arcTo(Rect.fromLTRB(487.54920000000004, 671.2614, 493.5892, 672.6414000000001), -34.5, -180.0, false);path156.arcTo(Rect.fromLTRB(485.4511, 673.5405, 491.49109999999996, 674.9205000000001), -34.5, -180.0, false);path156.arcTo(Rect.fromLTRB(488.3308, 672.3986, 494.3708, 673.7786000000001), -34.5, -180.0, false);path156.arcTo(Rect.fromLTRB(490.4289, 670.1194999999999, 496.46889999999996, 671.4995), -34.5, -180.0, false);path156.close();canvas.drawPath(path156, paint156);final paint157 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path157 = Path();path157.moveTo(666.77, 687.03);path157.quadraticBezierTo(665.25, 686.90, 664.92, 684.21);path157.lineTo(670.39, 676.87);path157.arcTo(Rect.fromLTRB(669.68, 675.99, 670.38, 676.6700000000001), -79.0, -180.0, false);path157.lineTo(667.90, 676.90);path157.arcTo(Rect.fromLTRB(664.5500000000001, 672.62, 667.85, 675.92), 0.0, 180.0, false);path157.lineTo(669.72, 669.97);path157.arcTo(Rect.fromLTRB(668.9599999999999, 668.74, 669.9, 669.6800000000001), 0.0, -180.0, false);path157.lineTo(666.42, 668.74);path157.arcTo(Rect.fromLTRB(664.71, 666.09, 666.77, 668.15), 0.0, 180.0, false);path157.lineTo(670.99, 659.78);path157.arcTo(Rect.fromLTRB(671.97, 659.09, 674.4300000000001, 661.5500000000001), 0.0, 180.0, false);path157.quadraticBezierTo(673.64, 663.51, 670.87, 665.07);path157.quadraticBezierTo(666.61, 667.46, 671.34, 666.23);path157.quadraticBezierTo(672.07, 666.04, 674.05, 665.10);path157.quadraticBezierTo(674.52, 664.87, 674.77, 664.42);path157.quadraticBezierTo(677.45, 659.70, 682.48, 657.56);path157.arcTo(Rect.fromLTRB(682.66, 657.51, 683.58, 658.4300000000001), 0.0, 180.0, false);path157.quadraticBezierTo(683.14, 659.53, 681.92, 660.46);path157.arcTo(Rect.fromLTRB(681.88, 660.81, 682.82, 661.75), 0.0, -180.0, false);path157.quadraticBezierTo(686.62, 659.85, 691.08, 658.09);path157.quadraticBezierTo(693.29, 657.22, 694.14, 658.96);path157.arcTo(Rect.fromLTRB(691.9, 659.5, 694.42, 662.02), 0.0, 180.0, false);path157.quadraticBezierTo(683.93, 661.90, 676.15, 666.62);path157.quadraticBezierTo(674.64, 667.53, 670.74, 672.47);path157.arcTo(Rect.fromLTRB(670.7299999999999, 672.66, 671.37, 673.3000000000001), 0.0, -180.0, false);path157.lineTo(673.97, 672.39);path157.arcTo(Rect.fromLTRB(673.9399999999999, 673.14, 676.42, 675.62), 0.0, 180.0, false);path157.lineTo(670.81, 679.78);path157.arcTo(Rect.fromLTRB(670.4499999999999, 680.18, 671.83, 681.5600000000001), 0.0, -180.0, false);path157.quadraticBezierTo(671.99, 681.14, 672.84, 680.08);path157.quadraticBezierTo(674.13, 678.46, 675.56, 676.96);path157.quadraticBezierTo(675.93, 676.57, 676.41, 676.81);path157.lineTo(676.84, 677.02);path157.arcTo(Rect.fromLTRB(676.37, 677.36, 677.9699999999999, 678.9399999999999), 29.0, 180.0, false);path157.quadraticBezierTo(673.30, 684.35, 666.77, 687.03);path157.close();canvas.drawPath(path157, paint157);final paint158 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path158 = Path();path158.moveTo(517.53, 671.21);path158.cubicTo(514.37, 671.19, 511.34, 669.27, 514.06, 665.97);path158.quadraticBezierTo(517.76, 661.45, 523.76, 660.71);path158.arcTo(Rect.fromLTRB(523.93, 660.9699999999999, 527.11, 664.13), 1.5, 180.0, false);path158.quadraticBezierTo(525.07, 665.22, 523.39, 667.65);path158.quadraticBezierTo(519.29, 673.61, 517.34, 680.94);path158.arcTo(Rect.fromLTRB(515.66, 680.12, 516.8000000000001, 681.2600000000001), 0.0, 180.0, false);path158.lineTo(517.94, 671.71);path158.quadraticBezierTo(518.04, 671.22, 517.53, 671.21);path158.close();path158.moveTo(520.00, 666.11);path158.quadraticBezierTo(520.47, 665.46, 520.84, 664.70);path158.arcTo(Rect.fromLTRB(519.56, 663.66, 520.54, 664.64), 0.0, -180.0, false);path158.lineTo(516.59, 667.75);path158.arcTo(Rect.fromLTRB(516.5, 668.0699999999999, 517.4200000000001, 668.99), 0.0, -180.0, false);path158.quadraticBezierTo(518.93, 668.40, 519.71, 666.62);path158.quadraticBezierTo(519.83, 666.35, 520.00, 666.11);path158.close();canvas.drawPath(path158, paint158);final paint159 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path159 = Path();path159.moveTo(451.53, 662.30);path159.quadraticBezierTo(452.25, 663.79, 451.76, 665.35);path159.arcTo(Rect.fromLTRB(450.45, 665.1500000000001, 451.57, 666.25), -69.5, 180.0, false);path159.quadraticBezierTo(449.15, 664.92, 448.94, 663.25);path159.quadraticBezierTo(448.76, 661.93, 450.01, 661.60);path159.arcTo(Rect.fromLTRB(450.2, 660.9799999999999, 452.85999999999996, 663.62), 69.5, 180.0, false);path159.close();canvas.drawPath(path159, paint159);final paint160 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path160 = Path();path160.moveTo(530.14, 674.95);path160.arcTo(Rect.fromLTRB(529.75, 673.75, 530.6099999999999, 674.6099999999999), 0.0, -180.0, false);path160.lineTo(526.63, 672.15);path160.arcTo(Rect.fromLTRB(525.41, 670.4300000000001, 527.0500000000001, 672.05), -68.8, 180.0, false);path160.lineTo(527.61, 665.68);path160.quadraticBezierTo(527.85, 664.70, 528.85, 664.54);path160.lineTo(536.56, 663.33);path160.arcTo(Rect.fromLTRB(536.65, 663.4300000000001, 537.93, 664.71), 0.0, 180.0, false);path160.lineTo(536.70, 667.49);path160.arcTo(Rect.fromLTRB(535.19, 667.35, 536.75, 668.91), 0.0, 180.0, false);path160.lineTo(531.10, 668.37);path160.arcTo(Rect.fromLTRB(529.14, 669.5, 531.8000000000001, 672.1400000000001), 59.4, -180.0, false);path160.lineTo(534.38, 673.23);path160.arcTo(Rect.fromLTRB(532.3199999999999, 674.68, 536.72, 679.08), 0.0, 180.0, false);path160.quadraticBezierTo(530.02, 680.15, 524.46, 679.82);path160.arcTo(Rect.fromLTRB(522.9200000000001, 676.47, 525.22, 678.77), 0.0, 180.0, false);path160.lineTo(530.14, 674.95);path160.close();canvas.drawPath(path160, paint160);final paint161 = Paint()..color = const Color(0xFFffffff)..style = PaintingStyle.fill..strokeWidth = 1;var path161 = Path();path161.moveTo(519.71, 666.62);path161.quadraticBezierTo(518.93, 668.40, 516.96, 668.53);path161.arcTo(Rect.fromLTRB(516.13, 667.29, 517.0500000000001, 668.21), 0.0, 180.0, false);path161.lineTo(520.05, 664.15);path161.arcTo(Rect.fromLTRB(520.35, 664.21, 521.33, 665.19), 0.0, 180.0, false);path161.quadraticBezierTo(520.47, 665.46, 520.00, 666.11);path161.quadraticBezierTo(519.83, 666.35, 519.71, 666.62);path161.close();canvas.drawPath(path161, paint161);final paint162 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path162 = Path();path162.moveTo(683.85, 667.27);path162.quadraticBezierTo(685.75, 666.60, 687.69, 667.34);path162.arcTo(Rect.fromLTRB(686.1, 668.63, 688.92, 671.4499999999999), 0.0, 180.0, false);path162.quadraticBezierTo(685.22, 670.57, 683.49, 668.78);path162.arcTo(Rect.fromLTRB(682.9200000000001, 666.35, 684.78, 668.1899999999999), -31.7, 180.0, false);path162.close();canvas.drawPath(path162, paint162);final paint163 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path163 = Path();path163.moveTo(712.01, 668.37);path163.arcTo(Rect.fromLTRB(710.8, 666.73, 712.04, 667.97), 0.0, 180.0, false);path163.quadraticBezierTo(711.78, 666.96, 712.75, 666.97);path163.quadraticBezierTo(713.54, 666.98, 713.67, 667.53);path163.quadraticBezierTo(713.78, 667.98, 713.32, 668.08);path163.lineTo(712.01, 668.37);path163.close();canvas.drawPath(path163, paint163);final paint164 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path164 = Path();path164.moveTo(710.56, 687.25);path164.lineTo(709.45, 685.97);path164.lineTo(713.53, 675.11);path164.arcTo(Rect.fromLTRB(711.7900000000001, 673.74, 713.11, 675.06), 0.0, -180.0, false);path164.quadraticBezierTo(710.19, 676.55, 707.23, 677.43);path164.arcTo(Rect.fromLTRB(705.7, 676.2700000000001, 707.06, 677.63), 0.0, 180.0, false);path164.quadraticBezierTo(706.29, 676.59, 706.40, 676.13);path164.lineTo(708.19, 674.98);path164.lineTo(710.65, 673.14);path164.quadraticBezierTo(711.16, 672.76, 710.65, 672.38);path164.lineTo(709.37, 671.43);path164.arcTo(Rect.fromLTRB(708.94, 669.66, 710.22, 670.9399999999999), 0.0, 180.0, false);path164.lineTo(718.79, 667.77);path164.arcTo(Rect.fromLTRB(718.7, 668.36, 720.3, 669.9599999999999), 0.0, 180.0, false);path164.lineTo(714.95, 672.87);path164.arcTo(Rect.fromLTRB(713.72, 672.88, 715.56, 674.6999999999999), 64.0, -180.0, false);path164.lineTo(714.99, 675.24);path164.arcTo(Rect.fromLTRB(714.0200000000001, 674.9, 715.88, 676.6999999999999), 50.2, 180.0, false);path164.lineTo(711.76, 683.99);path164.arcTo(Rect.fromLTRB(712.14, 684.0999999999999, 713.5600000000001, 685.52), 0.0, -180.0, false);path164.lineTo(719.57, 679.69);path164.arcTo(Rect.fromLTRB(719.0, 678.33, 720.04, 679.35), 41.7, -180.0, false);path164.lineTo(716.52, 677.03);path164.arcTo(Rect.fromLTRB(715.0300000000001, 671.97, 718.65, 675.5899999999999), 0.0, 180.0, false);path164.lineTo(722.23, 671.84);path164.quadraticBezierTo(722.76, 671.65, 723.27, 671.89);path164.lineTo(726.52, 673.38);path164.quadraticBezierTo(727.12, 673.65, 727.02, 674.31);path164.quadraticBezierTo(726.67, 676.46, 724.99, 677.65);path164.quadraticBezierTo(724.44, 678.04, 724.96, 678.46);path164.lineTo(729.43, 682.03);path164.arcTo(Rect.fromLTRB(728.09, 682.47, 729.39, 683.77), 0.0, 180.0, false);path164.lineTo(722.96, 680.36);path164.quadraticBezierTo(722.47, 680.13, 722.02, 680.42);path164.cubicTo(717.93, 683.03, 715.32, 685.70, 710.56, 687.25);path164.close();path164.moveTo(724.27, 674.61);path164.lineTo(720.74, 675.80);path164.quadraticBezierTo(720.17, 675.99, 720.55, 676.47);path164.lineTo(721.37, 677.51);path164.arcTo(Rect.fromLTRB(721.77, 676.79, 723.29, 678.29), -43.4, -180.0, false);path164.lineTo(724.64, 675.17);path164.arcTo(Rect.fromLTRB(723.92, 674.26, 724.62, 674.96), 0.0, -180.0, false);path164.close();canvas.drawPath(path164, paint164);final paint165 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path165 = Path();path165.moveTo(456.96, 677.20);path165.quadraticBezierTo(460.56, 677.55, 463.99, 676.38);path165.arcTo(Rect.fromLTRB(463.98, 676.66, 464.78, 677.4399999999999), -75.5, 180.0, false);path165.cubicTo(462.14, 679.12, 456.93, 681.86, 454.16, 679.40);path165.cubicTo(452.19, 677.64, 453.13, 675.21, 454.50, 673.31);path165.cubicTo(455.71, 671.63, 459.24, 667.22, 461.71, 668.30);path165.arcTo(Rect.fromLTRB(460.84, 669.08, 462.92, 671.16), 0.0, 180.0, false);path165.quadraticBezierTo(458.35, 672.51, 456.54, 676.47);path165.arcTo(Rect.fromLTRB(456.44, 676.69, 457.47999999999996, 677.71), 15.3, -180.0, false);path165.close();canvas.drawPath(path165, paint165);final paint166 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path166 = Path();path166.moveTo(501.97, 678.09);path166.quadraticBezierTo(506.23, 679.67, 510.69, 678.58);path166.arcTo(Rect.fromLTRB(510.59000000000003, 678.8599999999999, 511.23, 679.5), 0.0, 180.0, false);path166.cubicTo(507.57, 680.86, 498.75, 683.25, 498.77, 676.66);path166.cubicTo(498.78, 672.78, 505.36, 669.17, 508.43, 668.37);path166.arcTo(Rect.fromLTRB(508.61, 669.05, 511.59000000000003, 672.03), 0.0, 180.0, false);path166.quadraticBezierTo(507.38, 675.39, 502.01, 676.93);path166.arcTo(Rect.fromLTRB(501.36, 677.48, 502.58000000000004, 678.7), 0.0, -180.0, false);path166.close();path166.moveTo(507.5615, 670.7125);path166.arcTo(Rect.fromLTRB(501.413, 671.1334, 507.693, 672.6334), -34.7, -180.0, false);path166.arcTo(Rect.fromLTRB(499.2585, 673.5375, 505.5385, 675.0375), -34.7, -180.0, false);path166.arcTo(Rect.fromLTRB(502.267, 672.3666, 508.54699999999997, 673.8666), -34.7, -180.0, false);path166.arcTo(Rect.fromLTRB(504.42150000000004, 669.9625, 510.7015, 671.4625), -34.7, -180.0, false);path166.close();canvas.drawPath(path166, paint166);

继续

final paint167 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path167 = Path();path167.moveTo(447.48, 683.91);path167.cubicTo(446.79, 685.50, 446.19, 687.42, 444.90, 688.71);path167.arcTo(Rect.fromLTRB(442.95, 687.47, 444.39000000000004, 688.9100000000001), 0.0, 180.0, false);path167.quadraticBezierTo(443.76, 679.33, 447.91, 672.02);path167.quadraticBezierTo(448.11, 671.67, 448.39, 670.83);path167.quadraticBezierTo(448.98, 669.09, 450.76, 670.32);path167.arcTo(Rect.fromLTRB(449.94, 670.37, 452.71999999999997, 673.13), -67.0, 180.0, false);path167.quadraticBezierTo(450.01, 678.08, 447.48, 683.91);path167.close();canvas.drawPath(path167, paint167);final paint168 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path168 = Path();path168.moveTo(556.82, 672.20);path168.cubicTo(554.40, 674.25, 549.08, 675.90, 546.05, 674.76);path168.arcTo(Rect.fromLTRB(545.05, 671.28, 547.4300000000001, 673.6600000000001), 0.0, 180.0, false);path168.quadraticBezierTo(551.42, 671.45, 556.69, 671.79);path168.quadraticBezierTo(557.25, 671.83, 556.82, 672.20);path168.close();canvas.drawPath(path168, paint168);final paint169 = Paint()..color = const Color(0xFFd32735)..style = PaintingStyle.fill..strokeWidth = 1;var path169 = Path();path169.moveTo(691.96, 679.74);path169.arcTo(Rect.fromLTRB(690.79, 678.68, 691.73, 679.62), 0.0, -180.0, false);path169.lineTo(679.97, 687.00);path169.arcTo(Rect.fromLTRB(677.39, 685.48, 679.4499999999999, 687.54), 0.0, 180.0, false);path169.cubicTo(677.25, 683.32, 681.87, 679.28, 683.67, 676.77);path169.quadraticBezierTo(683.98, 676.33, 683.54, 676.03);path169.lineTo(682.78, 675.49);path169.arcTo(Rect.fromLTRB(681.96, 673.13, 683.72, 674.89), 0.0, 180.0, false);path169.quadraticBezierTo(685.27, 672.59, 688.19, 672.52);path169.arcTo(Rect.fromLTRB(687.98, 673.2099999999999, 690.1600000000001, 675.39), 0.0, 180.0, false);path169.lineTo(684.39, 680.08);path169.arcTo(Rect.fromLTRB(684.49, 680.3000000000001, 685.3499999999999, 681.14), 5.6, -180.0, false);path169.lineTo(691.49, 677.37);path169.arcTo(Rect.fromLTRB(692.36, 677.11, 696.2199999999999, 680.9499999999999), 75.6, 180.0, false);path169.quadraticBezierTo(694.47, 684.44, 689.49, 686.34);path169.arcTo(Rect.fromLTRB(687.0200000000001, 684.4399999999999, 689.12, 686.42), -10.9, 180.0, false);path169.quadraticBezierTo(688.07, 685.13, 688.60, 684.59);path169.quadraticBezierTo(690.75, 682.34, 691.96, 679.74);path169.close();canvas.drawPath(path169, paint169);final paint170 = Paint()..color = const Color(0xFF2aa2dd)..style = PaintingStyle.fill..strokeWidth = 1;var path170 = Path();path170.moveTo(709.45, 685.97);path170.quadraticBezierTo(709.84, 681.95, 708.14, 677.99);path170.quadraticBezierTo(707.80, 677.21, 706.83, 677.40);path170.quadraticBezierTo(706.34, 677.49, 706.15, 677.03);path170.quadraticBezierTo(705.95, 676.57, 706.40, 676.13);path170.quadraticBezierTo(706.29, 676.59, 706.38, 676.95);path170.arcTo(Rect.fromLTRB(706.5500000000001, 676.75, 707.91, 678.1099999999999), 0.0, -180.0, false);path170.quadraticBezierTo(710.19, 676.55, 712.45, 674.40);path170.arcTo(Rect.fromLTRB(712.87, 674.45, 714.1899999999999, 675.77), 0.0, 180.0, false);path170.lineTo(709.45, 685.97);path170.close();canvas.drawPath(path170, paint170);final paint171 = Paint()..color = const Color(0xFF2aa2dd)..style = PaintingStyle.fill..strokeWidth = 1;var path171 = Path();path171.moveTo(724.27, 674.61);path171.arcTo(Rect.fromLTRB(724.29, 674.8199999999999, 724.99, 675.52), 0.0, 180.0, false);path171.lineTo(722.53, 677.54);path171.arcTo(Rect.fromLTRB(720.61, 676.76, 722.13, 678.26), -43.4, 180.0, false);path171.lineTo(720.55, 676.47);path171.quadraticBezierTo(720.17, 675.99, 720.74, 675.80);path171.lineTo(724.27, 674.61);path171.close();canvas.drawPath(path171, paint171);final paint172 = Paint()..color = const Color(0xFF787677)..style = PaintingStyle.fill..strokeWidth = 1;var path172 = Path();path172.moveTo(751.77, 747.94);path172.quadraticBezierTo(762.93, 725.24, 776.90, 704.14);path172.quadraticBezierTo(784.02, 693.38, 789.16, 688.78);path172.cubicTo(794.94, 683.61, 805.41, 676.31, 813.74, 677.48);path172.cubicTo(815.61, 677.75, 816.36, 679.15, 816.59, 680.99);path172.quadraticBezierTo(817.55, 688.75, 816.54, 696.01);path172.arcTo(Rect.fromLTRB(813.01, 695.45, 817.6099999999999, 700.05), 0.0, 180.0, false);path172.quadraticBezierTo(801.63, 704.91, 791.15, 716.20);path172.cubicTo(785.37, 722.41, 779.71, 731.24, 774.39, 738.88);path172.quadraticBezierTo(760.87, 758.31, 752.25, 780.17);path172.arcTo(Rect.fromLTRB(749.66, 779.6899999999999, 752.32, 782.33), -78.5, 180.0, false);path172.lineTo(743.24, 780.93);path172.quadraticBezierTo(741.90, 780.91, 742.06, 779.58);path172.cubicTo(743.46, 767.93, 746.27, 759.10, 751.77, 747.94);path172.close();canvas.drawPath(path172, paint172);final paint173 = Paint()..color = const Color(0xFF787677)..style = PaintingStyle.fill..strokeWidth = 1;var path173 = Path();path173.moveTo(751.25, 788.10);path173.cubicTo(754.85, 788.60, 757.48, 785.15, 758.66, 782.17);path173.cubicTo(767.17, 760.58, 777.98, 744.77, 790.64, 727.37);path173.quadraticBezierTo(800.71, 713.54, 815.97, 704.74);path173.cubicTo(822.24, 701.12, 825.42, 704.97, 826.37, 710.91);path173.cubicTo(828.32, 723.02, 823.76, 736.88, 817.57, 747.80);path173.quadraticBezierTo(809.18, 762.62, 796.57, 780.05);path173.quadraticBezierTo(789.25, 790.18, 783.56, 795.18);path173.cubicTo(767.28, 809.49, 748.51, 813.19, 726.99, 815.39);path173.quadraticBezierTo(719.67, 816.13, 713.77, 814.65);path173.quadraticBezierTo(700.68, 811.37, 687.78, 807.40);path173.quadraticBezierTo(682.35, 805.73, 678.29, 801.88);path173.arcTo(Rect.fromLTRB(677.4300000000001, 799.6800000000001, 679.21, 801.46), 0.0, 180.0, false);path173.lineTo(706.29, 775.79);path173.quadraticBezierTo(706.72, 775.41, 707.22, 775.69);path173.quadraticBezierTo(722.00, 783.96, 738.77, 786.36);path173.quadraticBezierTo(745.00, 787.25, 751.25, 788.10);path173.close();canvas.drawPath(path173, paint173);final paint174 = Paint()..color = const Color(0xFF787677)..style = PaintingStyle.fill..strokeWidth = 1;var path174 = Path();path174.moveTo(569.22, 834.65);path174.quadraticBezierTo(562.29, 823.68, 549.89, 823.31);path174.arcTo(Rect.fromLTRB(548.07, 822.35, 550.41, 824.63), -59.8, -180.0, false);path174.lineTo(546.14, 825.44);path174.arcTo(Rect.fromLTRB(544.64, 824.73, 546.18, 826.23), -47.3, 180.0, false);path174.cubicTo(542.05, 823.87, 536.36, 821.24, 532.74, 822.31);path174.arcTo(Rect.fromLTRB(530.57, 823.09, 533.41, 825.93), 0.0, -180.0, false);path174.lineTo(533.01, 825.91);path174.quadraticBezierTo(533.47, 826.55, 532.77, 826.91);path174.quadraticBezierTo(530.62, 828.02, 528.27, 827.55);path174.arcTo(Rect.fromLTRB(525.88, 825.52, 528.88, 828.48), -12.9, 180.0, false);path174.cubicTo(523.46, 821.89, 519.16, 817.71, 512.25, 817.62);path174.arcTo(Rect.fromLTRB(509.88, 816.4399999999999, 512.84, 819.36), -62.1, -180.0, false);path174.cubicTo(508.99, 819.67, 506.86, 823.17, 503.51, 821.11);path174.cubicTo(501.38, 819.81, 497.56, 815.32, 495.48, 812.90);path174.quadraticBezierTo(493.76, 810.91, 492.50, 807.86);path174.cubicTo(490.12, 802.16, 485.45, 798.87, 483.14, 793.05);path174.cubicTo(481.70, 789.43, 478.90, 787.07, 476.91, 783.83);path174.arcTo(Rect.fromLTRB(472.19, 780.0, 477.39000000000004, 785.1800000000001), 75.2, -180.0, false);path174.cubicTo(470.26, 782.41, 468.52, 780.89, 465.39, 777.85);path174.cubicTo(461.63, 774.21, 457.80, 773.53, 453.03, 775.77);path174.quadraticBezierTo(447.07, 778.56, 440.41, 779.46);path174.quadraticBezierTo(436.77, 773.57, 436.25, 769.50);path174.quadraticBezierTo(435.62, 764.51, 435.24, 749.38);path174.quadraticBezierTo(435.15, 745.66, 436.33, 743.33);path174.cubicTo(437.86, 740.30, 440.67, 737.50, 443.43, 735.82);path174.cubicTo(456.55, 727.84, 474.07, 758.67, 478.50, 767.04);path174.quadraticBezierTo(487.53, 784.11, 496.11, 801.42);path174.cubicTo(497.55, 804.33, 501.94, 804.22, 501.14, 799.95);path174.quadraticBezierTo(496.32, 774.42, 495.39, 760.67);path174.quadraticBezierTo(494.62, 749.31, 495.35, 737.92);path174.cubicTo(495.97, 728.34, 502.82, 705.59, 517.35, 710.28);path174.cubicTo(522.05, 711.80, 525.14, 715.03, 527.29, 719.72);path174.quadraticBezierTo(532.54, 731.15, 533.50, 742.51);path174.quadraticBezierTo(536.25, 774.71, 537.85, 786.52);path174.quadraticBezierTo(538.36, 790.29, 542.45, 792.20);path174.quadraticBezierTo(542.86, 792.39, 543.27, 792.23);path174.quadraticBezierTo(544.93, 791.56, 545.18, 789.99);path174.quadraticBezierTo(548.68, 767.82, 556.63, 748.05);path174.cubicTo(559.25, 741.53, 562.35, 737.71, 566.84, 732.34);path174.quadraticBezierTo(570.99, 727.39, 576.72, 727.64);path174.arcTo(Rect.fromLTRB(576.04, 726.3599999999999, 579.44, 729.74), 66.8, 180.0, false);path174.cubicTo(583.71, 733.29, 584.72, 738.80, 586.54, 747.56);path174.quadraticBezierTo(589.14, 760.10, 588.83, 772.93);path174.cubicTo(588.59, 782.53, 584.44, 790.86, 582.27, 800.10);path174.quadraticBezierTo(578.17, 817.60, 569.22, 834.65);path174.close();canvas.drawPath(path174, paint174);final paint175 = Paint()..color = const Color(0xFFffffff)..style = PaintingStyle.fill..strokeWidth = 1;var path175 = Path();path175.moveTo(758.15, 715.36);path175.quadraticBezierTo(755.11, 722.16, 750.27, 728.26);path175.quadraticBezierTo(750.02, 728.58, 749.26, 728.50);path175.lineTo(758.15, 715.36);path175.close();canvas.drawPath(path175, paint175);final paint176 = Paint()..color = const Color(0xFF6e6c6d)..style = PaintingStyle.fill..strokeWidth = 1;var path176 = Path();path176.moveTo(569.22, 834.65);path176.quadraticBezierTo(562.22, 843.76, 551.98, 852.01);path176.quadraticBezierTo(543.23, 859.06, 531.96, 860.56);path176.quadraticBezierTo(528.48, 861.03, 518.00, 861.26);path176.cubicTo(513.45, 861.36, 511.53, 860.42, 506.88, 858.34);path176.cubicTo(495.88, 853.42, 486.49, 847.55, 477.87, 838.71);path176.cubicTo(462.28, 822.72, 446.88, 801.11, 440.41, 779.46);path176.quadraticBezierTo(447.07, 778.56, 453.03, 775.77);path176.cubicTo(457.80, 773.53, 461.63, 774.21, 465.39, 777.85);path176.cubicTo(468.52, 780.89, 470.26, 782.41, 474.79, 782.59);path176.arcTo(Rect.fromLTRB(474.31, 781.24, 479.51000000000005, 786.4200000000001), 75.2, 180.0, false);path176.cubicTo(478.90, 787.07, 481.70, 789.43, 483.14, 793.05);path176.cubicTo(485.45, 798.87, 490.12, 802.16, 492.50, 807.86);path176.quadraticBezierTo(493.76, 810.91, 495.48, 812.90);path176.cubicTo(497.56, 815.32, 501.38, 819.81, 503.51, 821.11);path176.cubicTo(506.86, 823.17, 508.99, 819.67, 511.36, 817.90);path176.arcTo(Rect.fromLTRB(510.77, 816.16, 513.73, 819.08), -62.1, 180.0, false);path176.cubicTo(519.16, 817.71, 523.46, 821.89, 527.38, 827.00);path176.arcTo(Rect.fromLTRB(526.77, 826.0699999999999, 529.77, 829.03), -12.9, -180.0, false);path176.quadraticBezierTo(530.62, 828.02, 532.77, 826.91);path176.quadraticBezierTo(533.47, 826.55, 533.01, 825.91);path176.lineTo(531.99, 824.51);path176.arcTo(Rect.fromLTRB(531.32, 820.89, 534.16, 823.7299999999999), 0.0, 180.0, false);path176.cubicTo(536.36, 821.24, 542.05, 823.87, 545.41, 825.48);path176.arcTo(Rect.fromLTRB(545.37, 824.69, 546.91, 826.19), -47.3, -180.0, false);path176.lineTo(549.24, 823.49);path176.arcTo(Rect.fromLTRB(548.72, 822.17, 551.06, 824.4499999999999), -59.8, 180.0, false);path176.quadraticBezierTo(562.29, 823.68, 569.22, 834.65);path176.close();canvas.drawPath(path176, paint176);}bool shouldRepaint(CustomPainter oldDelegate) {return false;}
}

最后效果如下

在这里插入图片描述

后记:我难道会一条一条写吗?

本来是想做一个图标模块解决,Flutter字体图标不能实现多彩色缺陷的(事实上Flutter字体图标是依据canvas绘制的,但是目前section.json文件的颜色信息是不能被Flutter支持的!并且很多在Web中可以使用的字体图标不经过处理是不能再Flutter中使用的!!!)。因此我自己写了一个小工具转换的,本来是想用于转换我做好的彩色图标的。

但是目前很多简单的图片效果反而很难看,有一些曲线的指令不是很好处理。但是突然发现,涉及的绘图指令越多的、复杂图形,由于丢失部分反而不打紧,更加与原先画质接近。
于是做了这个dash图标,类似地,我还绘制了一些其它地图片,比如复杂的——

在这里插入图片描述
上面这张图一共用了数万行代码,如果是人工一定做不到的。相比于使用图像,Flutter绘图的意义在于实现了另外一个展示图形的机制,并且可以配合变换和动画实现静态图片实现不了的复杂效果。
我想,如果有兴趣的、并且在这方面有经验的大神,可以一起研究和探讨这个课题,并制作和相关相关轮子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM常见的垃圾回收器(详细)

1、Young为年轻代出发的垃圾回收器。 2、Old为老触发的垃圾回收器。 3、连线代表的是垃圾回收器的组合。CMS 和Serial Old连线代表CMS一旦不行了,Serial Old上场。 首先了解一个概念:STW 1、什么是STW? STW是Stop-The-World缩写: 是在垃圾回…

即时编译器JIT

类编译加载执行过程 如下图所示,一个Java代码从编译到运行大抵会经历以下几个过程。具体每个过程笔者会在下文站展开讨论。 类编译 首先是类编译阶段,这个阶段会将Java文件变为class文件,这个class文件包含一个常量池和方法表集合&#xf…

【100天精通Python】Day72:Python可视化_一文掌握Seaborn库的使用《二》_分类数据可视化,线性模型和参数拟合的可视化,示例+代码

目录 1. 分类数据的可视化 1.1 类别散点图(Categorical Scatter Plot) 1.2 类别分布图(Categorical Distribution Plot) 1.3 类别估计图(Categorical Estimate Plot) 1.4 类别单变量图(Cat…

深入了解 Elasticsearch 8.1 中的 Script 使用

一、什么是 Elasticsearch Script? Elasticsearch 中的 Script 是一种灵活的方式,允许用户在查询、聚合和更新文档时执行自定义的脚本。这些脚本可以用来动态计算字段值、修改查询行为、执行复杂的条件逻辑等等。 二、支持的脚本语言有哪些 支持多种脚本…

《HelloGitHub》第 91 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

nodejs+vue+elementui+express外卖数据分析python

在上述需求分析的基础上,通过深入研究,将系统使用人员划分为信息采集编辑、信息维护编辑、信息发布编辑三个角色。 本论文的研究目的是为了给采编者提供一套完善、高效的智能信息收集解决方案,并利用一系列的程序设计与开发,为采…

公司电脑禁用U盘的方法

公司电脑禁用U盘的方法 安企神U盘管理系统下载使用 在这个复杂的数据时代,保护公司数据的安全性至关重要。其中,防止未经授权的数据泄露是其中的一个关键环节。U盘作为一种常用的数据传输工具,也成为了潜在的安全风险。因此,公司…

NSS [鹤城杯 2021]EasyP

NSS [鹤城杯 2021]EasyP 直接给了源码 <?php include utils.php;if (isset($_POST[guess])) {$guess (string) $_POST[guess];if ($guess $secret) {$message Congratulations! The flag is: . $flag;} else {$message Wrong. Try Again;} }if (preg_match(/utils\.p…

【MATLAB源码-第58期】基于蛇优化算法(SO)和粒子群优化算法(PSO)的栅格地图路径规划最短路径和适应度曲线对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 粒子群算法 (Particle Swarm Optimization, PSO) 1. 算法概述 粒子群算法是一种基于群体智能的优化算法&#xff0c;模拟鸟群觅食的行为。算法中的每个粒子代表问题的一个可能解&#xff0c;并且具有位置和速度两个属性。粒…

Vue3:将表格数据下载为excel文件

需求 将表格数据或者其他形式的数据下载为excel文件 技术栈 Vue3、ElementPlus、 实现 1、安装相关的库 下载xlsx 和 file-saver 库 npm install -S file-saver npm install -S xlsx引入XLSX库和FileSaver库 import XLSX from xlsx; import FileSaver from file-saver;…

vue3响应式对象:ref和reactive

ref() <template><button click"changeMsg">改变信息</button><div>{{ msg }}</div><div>{{ man }}</div> </template><script lang"ts"> import { defineComponent,ref,Ref } from vueexport def…

【SEC 学习】美化 Linux 终端

一、步骤 1. 进入 /etc/bash.bashrc vim /etc/bash.bashrc2. 重新加载 bash.bashrc source /etc/bash.bashrc二、各参数指标 符号含义\u当前用户的账号名称\h仅取主机的第一个名字&#xff0c;如上例&#xff0c;则为fc4&#xff0c;.linux则被省略\H完整的主机名称。例如&…

C++STL---Vector、List所要掌握的基本知识

绪论​ 拼着一切代价&#xff0c;奔你的前程。 ——巴尔扎克&#xff1b;本章主要围绕vector和list的使用&#xff0c;以及容器底层迭代器失效问题&#xff0c;同时会有对原码的分析和模拟实现其底层类函数。​​​​话不多说安全带系好&#xff0c;发车啦&#xff08;建议电脑…

Mac电脑配置Dart编程环境

1.安装Dart SDK 官网地址&#xff1a;https://dart.dev/get-dart $brew tap dart-lang/dart$brew install dart 安装后&#xff0c;用命令检测一下是否安装正常。 $brew info dart 2.VS Code配置Dart环境 1).安装VS Code 官网地址&#xff1a;https://code.visualstudio.c…

Python环境下LaTeX数学公式转图像方案调研与探讨

目录 引言方案一&#xff1a;基于LaTeX环境方案二&#xff1a;基于KaTeX(推荐) 方案三&#xff1a;基于Matplotlib写在最后 引言 近来&#xff0c;涉及到一些公式识别的项目&#xff0c;输入是公式的图像&#xff0c;输出是LaTeX格式的数学公式字符串。 这类项目一般都采用深…

pgsql 分组查询,每组取10条

需求&#xff1a; 按照表的字段分组&#xff0c;然后每组取10条结果&#xff0c;返回即可 sql 如下&#xff1a; SELECT* FROM (SELECT chk_id,feature_id,task_id, ROW_NUMBER () OVER (PARTITION BY chk_id ORDER BY chk_id) AS row_num FROM ics_check_report WHERE task…

Ubuntu 23.10(Mantic Minotaur)正式发布,支持Linux 6.5和GNOME 45

导读Canonical 近日正式发布了 Ubuntu 23.10&#xff08;Mantic Minotaur&#xff09;操作系统&#xff0c;其中包含一些最新的 GNU/Linux 技术、改进的硬件支持以及许多其他变化。 Ubuntu 23.10 采用了最新的 Linux 6.5 内核系列&#xff0c;并为 Ubuntu 桌面和服务器增强了 z…

Qt5 Python-docx库的使用,Qt python混合编程,qt 读写word,不依赖office

解决方案的选择 参考&#xff1a; https://www.jianshu.com/p/be68884849c3 因为项目要求不能使用模板方案&#xff0c;不能依赖Office&#xff0c;网上找了一些解决方案进行调研&#xff0c;以下几个方案&#xff1a; OpenOffice: 兼容性差&#xff0c;集成调用难度大LibOffi…

【顺序栈的出栈,链栈的表示和实现,递归定义】

文章目录 顺序栈的出栈 链栈的表示和实现链表的初始化判断链栈是否为空链栈的入栈链栈的出栈 递归定义函数的调用过程 顺序栈的出栈 &#xff08;1&#xff09;判断是否栈空&#xff0c;若空则出错&#xff08;下溢&#xff09;。 &#xff08;2&#xff09;获取栈顶元素e。 &…

【AD9361 数字接口CMOS LVDSSPI】B 并行数据之CMOS 续

续【AD9361 数字接口CMOS &LVDS&SPI】B 并行数据之CMOS 数据总线空闲和周转周期 &#xff08;CMOS&#xff09; P0_D[11&#xff1a;0]和P1_D[11&#xff1a;0]总线信号通常由BBP或AD9361有源驱动。在任何空闲期间&#xff0c;两个组件都会忽略数据总线值。但是&…