我有一个带有图像的小部件和一些我希望用户能够保存并作为图像共享的信息。
有没有人知道如何在不明确告诉用户物理截取屏幕截图的情况下完成此操作?
答案 0 :(得分:2)
我认为这可能是您要寻找的:https://docs.flutter.io/flutter/rendering/RenderRepaintBoundary/toImage.html
基本上,您将小部件包装在RepaintBoundary
中。向RepaintBoundary
提供一个密钥,我们可以将其称为boundaryKey
。
然后,您可以这样做:
RenderRepaintBoundary boundary = boundaryKey.currentContext.findRenderObject();
然后执行ui.Image image = await boundary.toImage();
创建图像,然后将其用于创建png或所需的任何图像。