Я создаю своеобразное приложение для рисования, которое позволяет рисовать поверх фонового изображения. Есть пара инструментов, таких как ручка, а затем есть ластик. В идеале мы просто закрашиваем фоновый цвет, но это изображение. У нас была идея убрать точки, которые были у нас под пальцем, когда мы перемещались по экрану, но смещения и локальное положение не совпадали (они были как 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(() {});
},
Если бы был другой метод, который я мог бы использовать, это было бы здорово, но я не вижу его на данный момент.