downloadResizePicture static method

Future<BitmapDescriptor> downloadResizePicture({
  1. required String url,
  2. int imageSize = 50,
})

Implementation

static Future<BitmapDescriptor> downloadResizePicture({required String url, int imageSize = 50}) async {
  final File imageFile = await DefaultCacheManager().getSingleFile(url);
  final ui.PictureRecorder pictureRecorder = ui.PictureRecorder();
  final Canvas canvas = Canvas(pictureRecorder);
  final Uint8List imageUint8List = await imageFile.readAsBytes();
  final ui.Codec codec = await ui.instantiateImageCodec(imageUint8List);
  final ui.FrameInfo imageFI = await codec.getNextFrame();
  paintImage(
      canvas: canvas, rect: Rect.fromLTWH(0, 0, imageSize.toDouble(), imageSize.toDouble()), image: imageFI.image);
  final _image = await pictureRecorder.endRecording().toImage(imageSize, (imageSize * 1.1).toInt());
  final data = await _image.toByteData(format: ui.ImageByteFormat.png);
  return BitmapDescriptor.fromBytes(data!.buffer.asUint8List());
}