Использование ластика поверх изображения во Flutter
Я делаю своего рода приложение для рисования, в котором вы рисуете поверх фонового изображения. Есть пара инструментов, например ручка, а также ластик. В идеале мы бы просто закрасили фон, но это изображение. У нас была идея удалить точки, которые были под нашим пальцем, когда мы перемещались по экрану, но смещения и локальное положение не совпадали (они были примерно на 40 (единиц?)).
onPanUpdate: (DragUpdateDetails details) {
//Adds the point you are tapping on to the '_points' list as Offset(x,y). Later we draw those points.
if (tool == 'pen') {
RenderBox object = context.findRenderObject();
Offset _localPosition =
object.globalToLocal(details.globalPosition);
_points = List.from(_points)..add(_localPosition);
} else if (tool == 'eraser') {
RenderBox object = context.findRenderObject();
Offset _localPosition =
object.globalToLocal(details.globalPosition);
_points = List.from(_points)
..removeWhere(
(offset) {
if (offset == null) return false;
if (offset.dx.round() == _localPosition.dx.round() &&
offset.dy.round() == _localPosition.dy.round()) {
return true;
}
return false;
},
);
//This part is not working.
}
setState(() {});
},
Если бы я мог использовать другой метод, это было бы здорово, но пока я его не вижу.