From 0c9fe6e3085abaf77bbca021a43a6566d22a44ed Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 25 Sep 2019 13:48:29 +0800 Subject: [PATCH 1/3] fix ios aspect ratio inversion --- packages/image_picker/CHANGELOG.md | 4 ++++ .../image_picker/ios/Classes/FLTImagePickerImageUtil.m | 10 +++++++++- packages/image_picker/pubspec.yaml | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/image_picker/CHANGELOG.md b/packages/image_picker/CHANGELOG.md index 78d44e594eb5..268a7b2c5256 100644 --- a/packages/image_picker/CHANGELOG.md +++ b/packages/image_picker/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.1+5 + +* Fix aspect ratio inversion on portrait pictures. + ## 0.6.1+4 * Android: Fix a regression where the `retrieveLostImage` does not work anymore. diff --git a/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m b/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m index 000bd4bf9c66..cc7546010f15 100644 --- a/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m +++ b/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m @@ -68,10 +68,18 @@ + (UIImage *)scaledImage:(UIImage *)image } } } - + NSLog(@"orientation %@", @(image.imageOrientation)); // Scaling the image always rotate itself based on the current imageOrientation of the original // Image. Set to orientationUp for the orignal image before scaling, so the scaled image doesn't // mess up with the pixels. + if (image.imageOrientation == UIImageOrientationRight || + image.imageOrientation == UIImageOrientationLeft || + image.imageOrientation == UIImageOrientationLeftMirrored || + image.imageOrientation == UIImageOrientationRightMirrored) { + double heightCopy = height; + height = width; + width = heightCopy; + } UIImage *imageToScale = [UIImage imageWithCGImage:image.CGImage scale:1 orientation:UIImageOrientationUp]; diff --git a/packages/image_picker/pubspec.yaml b/packages/image_picker/pubspec.yaml index c5d1647bb410..ad09895d9445 100755 --- a/packages/image_picker/pubspec.yaml +++ b/packages/image_picker/pubspec.yaml @@ -5,7 +5,7 @@ authors: - Flutter Team - Rhodes Davis Jr. homepage: https://github.com/flutter/plugins/tree/master/packages/image_picker -version: 0.6.1+4 +version: 0.6.1+5 flutter: plugin: From 3e728518081cc68d961773bd1af55bdd90263bef Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 25 Sep 2019 13:53:32 +0800 Subject: [PATCH 2/3] update changelog --- packages/image_picker/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/image_picker/CHANGELOG.md b/packages/image_picker/CHANGELOG.md index 268a7b2c5256..bde2b7a41d0c 100644 --- a/packages/image_picker/CHANGELOG.md +++ b/packages/image_picker/CHANGELOG.md @@ -1,6 +1,6 @@ ## 0.6.1+5 -* Fix aspect ratio inversion on portrait pictures. +* Fix aspect ratio inversion on images that was rotated side ways(Left, Right, etc.). ## 0.6.1+4 From c4f10275defd7e7d47a7e02894663b3303f024a8 Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Fri, 11 Oct 2019 07:52:23 -0700 Subject: [PATCH 3/3] Update FLTImagePickerImageUtil.m --- packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m b/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m index cc7546010f15..00a2d87d75ee 100644 --- a/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m +++ b/packages/image_picker/ios/Classes/FLTImagePickerImageUtil.m @@ -68,7 +68,6 @@ + (UIImage *)scaledImage:(UIImage *)image } } } - NSLog(@"orientation %@", @(image.imageOrientation)); // Scaling the image always rotate itself based on the current imageOrientation of the original // Image. Set to orientationUp for the orignal image before scaling, so the scaled image doesn't // mess up with the pixels.