From 5d1c30ce9fd8699c86106c02dbd30ce567195807 Mon Sep 17 00:00:00 2001 From: Nicolas Gruber Date: Sat, 13 May 2023 13:06:37 +0200 Subject: [PATCH] skipped image cropper funktion if it is already a 1:1 image, plugin for logging --- lib/AddPage.dart | 27 +++++++++++++++++++++++---- pubspec.lock | 8 ++++++++ pubspec.yaml | 1 + 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/lib/AddPage.dart b/lib/AddPage.dart index 5c3dd7a..b717bb4 100644 --- a/lib/AddPage.dart +++ b/lib/AddPage.dart @@ -65,10 +65,28 @@ class _AddScreenState extends State { final tempFile = File(pickedFile.path); final bool isValid = await isFileSizeValid(tempFile, 10); if (isValid) { - File croppedFile = await _cropImage(tempFile); // Bild zuschneiden - setState(() { - _imageFile = croppedFile; - }); + // Bildinformationen lesen + final originalImage = img.decodeImage(await tempFile.readAsBytes()); + + if (originalImage != null) { + if (originalImage.width == originalImage.height) { + // Wenn das Bild bereits im 1:1-Format ist, überspringen Sie das Zuschneiden + setState(() { + _imageFile = tempFile; + print("1:1"); + }); + + } else { + // Wenn das Bild nicht im 1:1-Format ist, schneiden Sie es zu + File croppedFile = await _cropImage(tempFile); + setState(() { + _imageFile = croppedFile; + }); + print("decode"); + } + } else { + throw Exception('Unable to decode image file.'); + } } else { ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('Die Dateigröße darf maximal 10 MB betragen.')), @@ -78,6 +96,7 @@ class _AddScreenState extends State { } + Future addNewElementToFirestore(String title, String description, File imageFile, {required Function(bool) onComplete}) async { String collectionName; if (_selectedIndex == 0) { diff --git a/pubspec.lock b/pubspec.lock index e53bb1f..c82e205 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -416,6 +416,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + logging: + dependency: "direct main" + description: + name: logging + sha256: "04094f2eb032cbb06c6f6e8d3607edcfcb0455e2bb6cbc010cb01171dcb64e6d" + url: "https://pub.dev" + source: hosted + version: "1.1.1" matcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 79d708c..31a2529 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -50,6 +50,7 @@ dependencies: pdf: ^3.10.1 printing: ^5.10.4 image_cropper: ^3.0.3 + logging: ^1.1.1 dev_dependencies: