takeScreenshot function
Future<void>
takeScreenshot(
{ - dynamic withWidgetTreeRender = false,
})
Implementation
Future<void> takeScreenshot({withWidgetTreeRender = false}) async {
await currentWorld.tester.pumpAndSettle();
RenderObject? renderObject = _getMainWidget()?.renderObject;
if (renderObject != null) {
RenderRepaintBoundary boundary = renderObject as RenderRepaintBoundary;
ui.Image image = await boundary.toImage();
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
Uint8List pngBytes = byteData!.buffer.asUint8List();
await currentWorld.screenshot?.writeAsBytes(pngBytes);
if (withWidgetTreeRender) {
await dumpWidgetRender();
}
} else {
logger.e('Screenshot failed.');
}
}