Flutter: рисовать поверх изображения с помощью CustomPainter с DrawnLines
Часть приложения, над которым я работаю, включает редактирование фотографий. Я пытаюсь включить возможность рисования на изображении. Я не могу найти примеры того, как это сделать на Github или в документации.
Это то, что у меня есть до сих пор:
class Sketcher extends CustomPainter {
final List<DrawnLine> lines;
final ui.Image image;
final BuildContext context;
Sketcher({required this.lines, required this.image,});
@override
void paint(Canvas canvas, Size size) {
Paint paint = Paint()
..color = Colors.redAccent
..strokeCap = StrokeCap.round
..strokeWidth = 5.0;
for (int i = 0; i < lines.length; ++i) {
if (lines[i] == null) continue;
for (int j = 0; j < lines[i].path.length - 1; ++j) {
if (lines[i].path[j] != null && lines[i].path[j + 1] != null) {
paint.color = lines[i].color;
paint.strokeWidth = lines[i].width;
canvas.drawLine(lines[i].path[j], lines[i].path[j + 1], paint);
}
}
}
// Add DrawnLine to image
}
@override
bool shouldRepaint(Sketcher oldDelegate) {
return true;
}
}
На данный момент я показываю нарисованные линии поверх изображения в
Есть ли способ объединить холст с изображением, изменив строки изображения?
Я уже знаю о canvas.drawImage(), однако я не нашел ни одного работающего кода, и ни у кого нет подобной проблемы в Интернете.