mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 11:18:41 +00:00
fix rotation issue
This commit is contained in:
parent
5b3430bee6
commit
c3f429a90a
7 changed files with 44 additions and 7 deletions
|
|
@ -13,9 +13,6 @@ Don't be lonely, get twonly! Send pictures to a friend in real time and be sure
|
|||
- MediaView:
|
||||
- Bei weiteren geladenen Bildern -> Direkt anzeigen ohne pop
|
||||
|
||||
## Not my issues
|
||||
- FIX: Problem Bild falsch, wenn handy schräg... -> Issue already openend
|
||||
|
||||
## TODOS bevor first release
|
||||
- Settings
|
||||
- Subscription
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<!-- Required to query activities that can process text, see:
|
||||
https://developer.android.com/training/package-visibility and
|
||||
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
|
|||
@override
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
super.didChangeAppLifecycleState(state);
|
||||
print("STATE: $state");
|
||||
if (state == AppLifecycleState.resumed) {
|
||||
apiProvider.connect();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import 'dart:async';
|
||||
import 'dart:typed_data';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:exif/exif.dart';
|
||||
import 'package:image/image.dart' as img;
|
||||
|
||||
class ImageItem {
|
||||
int width = 1;
|
||||
|
|
@ -29,6 +31,29 @@ class ImageItem {
|
|||
height = decodedImage.height;
|
||||
width = decodedImage.width;
|
||||
|
||||
if (height < width) {
|
||||
final exifData = await readExifFromBytes(bytes);
|
||||
|
||||
img.Image fixedImage;
|
||||
|
||||
if (height < width) {
|
||||
debugPrint('Rotating image necessary');
|
||||
final originalImage = img.decodeImage(bytes)!;
|
||||
if (exifData['Image Orientation']!.printable.contains('Horizontal')) {
|
||||
fixedImage = img.copyRotate(originalImage, angle: 90);
|
||||
} else if (exifData['Image Orientation']!.printable.contains('180')) {
|
||||
fixedImage = img.copyRotate(originalImage, angle: -90);
|
||||
} else if (exifData['Image Orientation']!.printable.contains('CCW')) {
|
||||
fixedImage = img.copyRotate(originalImage, angle: 180);
|
||||
} else {
|
||||
fixedImage = img.copyRotate(originalImage, angle: 0);
|
||||
}
|
||||
bytes = img.encodeJpg(fixedImage);
|
||||
height = fixedImage.height;
|
||||
width = fixedImage.width;
|
||||
}
|
||||
}
|
||||
|
||||
return loader.complete(true);
|
||||
} else {
|
||||
return loader.complete(false);
|
||||
|
|
|
|||
|
|
@ -35,9 +35,8 @@ class _ShareImageEditorView extends State<ShareImageEditorView> {
|
|||
|
||||
@override
|
||||
void initState() {
|
||||
loadImage(widget.imageBytes);
|
||||
|
||||
super.initState();
|
||||
loadImage(widget.imageBytes);
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
|||
16
pubspec.lock
16
pubspec.lock
|
|
@ -273,6 +273,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.1"
|
||||
exif:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: exif
|
||||
sha256: a7980fdb3b7ffcd0b035e5b8a5e1eef7cadfe90ea6a4e85ebb62f87b96c7a172
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.3.0"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1138,6 +1146,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.10.0"
|
||||
sprintf:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sprintf
|
||||
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.0"
|
||||
sqflite_common:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ dependencies:
|
|||
collection: ^1.18.0
|
||||
connectivity_plus: ^6.1.2
|
||||
cv: ^1.1.3
|
||||
exif: ^3.3.0
|
||||
fixnum: ^1.1.1
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
|
|
|||
Loading…
Reference in a new issue