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

Cha*_*nhm 6 screenshot flutter

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

有谁知道如何在不特别告诉用户实际截取屏幕截图的情况下完成此操作?

Edu*_*ser 5

我认为这可能就是你要找的:https : //docs.flutter.io/flutter/rendering/RenderRepaintBoundary/toImage.html

基本上,您将小部件包装在RepaintBoundary. 供应RepaintBoundary用钥匙,我们可以调用boundaryKey。然后你可以这样做:

RenderRepaintBoundary boundary = boundaryKey.currentContext.findRenderObject();
Run Code Online (Sandbox Code Playgroud)

然后ui.Image image = await boundary.toImage();创建一个图像,然后你可以用它来创建一个 png 或任何你想要的。