У меня есть 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
, но безуспешно, есть идеи?
Спасибо:)