toImagePng method

Future<Uint8List?> toImagePng({
  1. FutureOr<void> onError(
    1. Object error,
    2. StackTrace stackTrace
    )?,
})

Implementation

Future<Uint8List?> toImagePng({
  FutureOr<void> Function(Object error, StackTrace stackTrace)? onError,
}) async {
  try {
    RenderRepaintBoundary boundary =
        findRenderObject() as RenderRepaintBoundary;

    ui.Image image = await boundary.toImage();

    ByteData? byteData =
        await image.toByteData(format: ui.ImageByteFormat.png);
    if (byteData == null) {
      return null;
    }

    return byteData.buffer.asUint8List();
  } catch (e, stack) {
    if (onError != null) {
      await onError(e, stack);
    }
    return null;
  }
}