| 123456789101112131415161718192021222324 |
- import 'dart:typed_data';
- import 'dart:ui' as ui;
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/rendering.dart';
- class CaptureUtil {
- CaptureUtil._();
- static Future<Uint8List?> captureWidgetToImage(GlobalKey key,
- {double pixelRatio = 2.5}) async {
- try {
- RenderRepaintBoundary boundary =
- key.currentContext!.findRenderObject() as RenderRepaintBoundary;
- final ui.Image image = await boundary.toImage(pixelRatio: pixelRatio);
- final byteData = await image.toByteData(format: ui.ImageByteFormat.png);
- return byteData?.buffer.asUint8List();
- } catch (e) {
- debugPrint("截图失败: $e");
- return null;
- }
- }
- }
|