Удалить изображение альфа в холсте - PullRequest
0 голосов
/ 18 марта 2020

У меня есть Canvas, и я рисую на нем изображение с canvas.drawImage ():

class MyPainter extends CustomPainter {
  final ui.Image img;
  List<Offset> paths;

  MyPainter(this.img, this.paths);

  @override
  void paint(Canvas c, Size size) {
    final p = Paint()
      ..color = Colors.white10
      ..strokeWidth = 20
      ..style = PaintingStyle.stroke
      ..strokeCap = ui.StrokeCap.round;

    c.drawImage(img, Offset.zero, Paint());

    c.drawPoints(ui.PointMode.points, paths, p);
  }

  @override
  bool shouldRepaint(MyPainter oldDelegate) => true;

  @override
  bool shouldRebuildSemantics(MyPainter oldDelegate) => false;
}

Затем я пытаюсь сделать так, чтобы точки, которые я рисую сделайте холст прозрачным там, где я рисую точки, короче говоря, точки должны стереть картинку там, где они нарисованы. Я пытался экспериментировать почти со всеми BlendMode, но безуспешно, есть идеи?

Спасибо:)

...