fromImageProvider static method

Future<BitmapHelper> fromImageProvider(
  1. ImageProvider<Object> provider
)

Implementation

static Future<BitmapHelper> fromImageProvider(ImageProvider provider) async {
  final Completer completer = Completer<ImageInfo>();
  final ImageStream stream = provider.resolve(const ImageConfiguration());
  final listener =
      ImageStreamListener((ImageInfo info, bool synchronousCall) {
    if (!completer.isCompleted) {
      completer.complete(info);
    }
  });
  stream.addListener(listener);
  final imageInfo = await completer.future;
  stream.removeListener(listener);

  final ui.Image image = imageInfo.image;
  final ByteData? byteData = await image.toByteData();
  final Uint8List listInt = byteData!.buffer.asUint8List();
  return BitmapHelper.fromHeadless(image.width, image.height, listInt);
}