У меня есть виджет с изображением и некоторой информацией, которую я хотел бы, чтобы пользователь мог сохранять и делиться как изображение.
Кто-нибудь знает, как этого добиться, не указав пользователю физически сделать снимок экрана?
Я думаю, это может быть то, что вы ищете: https://docs.flutter.io/flutter/rendering/RenderRepaintBoundary/toImage.html
В основном вы оборачиваете свой виджет в RepaintBoundary.Снабдите RepaintBoundary ключом, который мы можем назвать boundaryKey.Затем вы можете сделать:
RepaintBoundary
boundaryKey
RenderRepaintBoundary boundary = boundaryKey.currentContext.findRenderObject();
, а затем сделать ui.Image image = await boundary.toImage();, чтобы создать изображение, которое вы затем сможете использовать для создания png или чего угодно.
ui.Image image = await boundary.toImage();