From 0ebe34abc66a5ec8f28b4c424cfd299f0e5b69a2 Mon Sep 17 00:00:00 2001 From: androidseb Date: Mon, 2 Oct 2023 21:42:11 +0200 Subject: [PATCH 1/2] Update flutter_svg README with an example to scale images --- packages/flutter_svg/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/flutter_svg/README.md b/packages/flutter_svg/README.md index 15ba7208..73f71c7b 100644 --- a/packages/flutter_svg/README.md +++ b/packages/flutter_svg/README.md @@ -69,6 +69,15 @@ canvas.drawPicture(pictureInfo.picture); // Or convert the picture to an image: final ui.Image image = pictureInfo.picture.toImage(...); +// Or convert the picture to a scaled image: +const double targetWidth = 512; +const double targetHeight = 512; +final ui.PictureRecorder pictureRecorder = ui.PictureRecorder(); +final ui.Canvas canvas = Canvas(pictureRecorder, Rect.fromPoints(Offset.zero, Offset(targetWidth, targetHeight))); +canvas.scale(targetWidth / pictureInfo.size.width, targetHeight / pictureInfo.size.height); +canvas.drawPicture(picture); +final ui.Image scaledImage = await pictureRecorder.endRecording().toImage(targetWidth.ceil(), targetHeight.ceil()); + pictureInfo.picture.dispose(); ``` From 1e9be4c7e3cbb42fc74c3c0b964af9725be2ca65 Mon Sep 17 00:00:00 2001 From: androidseb Date: Mon, 2 Oct 2023 21:49:10 +0200 Subject: [PATCH 2/2] Fixed minor variable reference issue --- packages/flutter_svg/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/flutter_svg/README.md b/packages/flutter_svg/README.md index 73f71c7b..59953884 100644 --- a/packages/flutter_svg/README.md +++ b/packages/flutter_svg/README.md @@ -75,7 +75,7 @@ const double targetHeight = 512; final ui.PictureRecorder pictureRecorder = ui.PictureRecorder(); final ui.Canvas canvas = Canvas(pictureRecorder, Rect.fromPoints(Offset.zero, Offset(targetWidth, targetHeight))); canvas.scale(targetWidth / pictureInfo.size.width, targetHeight / pictureInfo.size.height); -canvas.drawPicture(picture); +canvas.drawPicture(pictureInfo.picture); final ui.Image scaledImage = await pictureRecorder.endRecording().toImage(targetWidth.ceil(), targetHeight.ceil()); pictureInfo.picture.dispose();