downloadResizePicture static method
Future<BitmapDescriptor>
downloadResizePicture(
{ - required String url,
- 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());
}