toMap method

Future<Map<String, dynamic>> toMap()

Implementation

Future<Map<String, dynamic>> toMap() async {
  Completer<Map<String, dynamic>> c = new Completer<Map<String, dynamic>>();

  this
      .image
      .resolve(new ImageConfiguration())
      .addListener(new ImageStreamListener((imageInfo, _) async {
    String path = (await getTemporaryDirectory()).path;
    ByteData? byteData =
        await imageInfo.image.toByteData(format: ImageByteFormat.png);
    ByteBuffer buffer = byteData!.buffer;
    File file = await File('$path/sticker.png').writeAsBytes(
        buffer.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));

    c.complete(<String, dynamic>{
      'imagePath': file.path,
    });
  }));

  return c.future;
}