如何绘制标记?就像使用画布的Google地图中的标记

问题描述 投票:0回答:1

我需要DRAW使用画布的自定义标记,到目前为止,我DREW了逆三角形形状。您对如何DRAW标记形状有任何想法吗?

class DrawTriangle extends CustomPainter {

      Paint _paint;

      DrawTriangle() {
        _paint = Paint()
          ..color = Colors.green
          ..style = PaintingStyle.fill;
      }

      @override
      void paint(Canvas canvas, Size size) {
        var path = Path();
        path.moveTo(size.width, size.height);
        path.lineTo(size.width + 100, size.height - 100);
        path.lineTo(size.width - 100, size.height - 100);
        path.close();
        canvas.drawPath(path, _paint);
      }

      @override
      bool shouldRepaint(CustomPainter oldDelegate) {
        return false;
      }
    }
    Future<Uint8List> getBytesFromCanvas(
          int width, int height, Color color) async {
        final PictureRecorder pictureRecorder = PictureRecorder();
        final Canvas canvas = Canvas(pictureRecorder);
        CustomPainter painter = DrawTriangle();
        painter.paint(canvas, Size(100.0,100.0));
        final img = await pictureRecorder.endRecording().toImage(width, height);
        final data = await img.toByteData(format: ImageByteFormat.png);
        return data.buffer.asUint8List();
      }

以上方法创建了逆三角形,我需要创建一个标记形状。我该如何实现?

flutter canvas dart marker google-maps-flutter
1个回答
0
投票

为什么要使用自定义绘画工具,也可以将图像用于同一任务。我为您找到了this文章。希望我能帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.