在Flutter中截取特定Widget的屏幕截图?

时间:2018-04-25 23:31:58

标签: screenshot flutter

我有一个带有图像的小部件和一些我希望用户能够保存并作为图像共享的信息。

有没有人知道如何在不明确告诉用户物理截取屏幕截图的情况下完成此操作?

1 个答案:

答案 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或所需的任何图像。