convertPainterToImage function

Future<Uint8List?> convertPainterToImage(
  1. CustomPainter painter,
  2. Size size
)

Implementation

Future<Uint8List?> convertPainterToImage(
    CustomPainter painter, Size size) async {
  try {
    final recorder = ui.PictureRecorder();
    final canvas = Canvas(recorder);

    painter.paint(canvas, size);

    final picture = recorder.endRecording();
    ui.Image image =
        await picture.toImage(size.width.toInt(), size.height.toInt());
    ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
    return byteData?.buffer.asUint8List();
  } catch (e) {
    return null;
  }
}