From 562bb0da7a0d80cda2ab4dae7f255d69e00c7cc9 Mon Sep 17 00:00:00 2001 From: Simon Dubrulle Date: Fri, 22 Nov 2024 15:10:17 +0100 Subject: [PATCH] fix #2894 Edited image will keep same dimensions as original image --- mobile/lib/ui/tools/editor/image_editor_page.dart | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mobile/lib/ui/tools/editor/image_editor_page.dart b/mobile/lib/ui/tools/editor/image_editor_page.dart index 26f2cc5f6f..455cd9443a 100644 --- a/mobile/lib/ui/tools/editor/image_editor_page.dart +++ b/mobile/lib/ui/tools/editor/image_editor_page.dart @@ -2,9 +2,11 @@ import "dart:async"; import 'dart:io'; import 'dart:math'; import 'dart:typed_data'; +import 'dart:ui' as ui show Image; import 'package:extended_image/extended_image.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/painting.dart' show decodeImageFromList; import "package:flutter_image_compress/flutter_image_compress.dart"; import 'package:image_editor/image_editor.dart'; import 'package:logging/logging.dart'; @@ -336,8 +338,10 @@ class _ImageEditorPageState extends State { showToast(context, S.of(context).somethingWentWrong); return; } - _logger.info('Size before compression = ${result.length}'); - result = await FlutterImageCompress.compressWithList(result); + _logger.info('Size before compression = ${result.length}'); + + final ui.Image decodedResult = await decodeImageFromList(result); + result = await FlutterImageCompress.compressWithList(result, minWidth: decodedResult.width, minHeight: decodedResult.height); _logger.info('Size after compression = ${result.length}'); final Duration diff = DateTime.now().difference(start); _logger.info('image_editor time : $diff');