Флаттер: как экспортировать / сохранить рисунок CustomPainter в виде строковых координат или изображения base64? - PullRequest
1 голос
/ 01 мая 2020

У меня есть CustomPainter, где пользователь должен рисовать несколько линий, указывающих различные вещи на изображении. Мне нужно экспортировать все эти строки в массив строк или изображений base64. Это возможно? Мой код выглядит так:

class Signature extends CustomPainter {
  List<Offset> points;
  Signature({this.points});

  @override
  void paint(Canvas canvas, Size size) {
    Paint paint = new Paint()
      ..color = Colors.black
      ..strokeCap = StrokeCap.round
      ..strokeWidth = 5.0;

    for (int i = 0; i < points.length - 1; i++) {
      if (points[i] != null && points[i + 1] != null) {
        canvas.drawLine(points[i], points[i + 1], paint);
      }
      canvas.clipRect(Offset.zero & size);
    }
  }

  @override
  bool shouldRepaint(Signature oldDelegate) => oldDelegate.points != points;
}
...