fromProvider static method
Implementation
static Future<Bitmap> fromProvider(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;
final ui.Image image = imageInfo.image;
final ByteData? byteData = await image.toByteData();
if (byteData == null) {
throw StateError("Couldn't serialize image into bytes");
}
final Uint8List listInt = byteData.buffer.asUint8List();
return Bitmap.fromHeadless(image.width, image.height, listInt);
}