diff --git a/RiotShareExtension/Model/ShareExtensionManager.m b/RiotShareExtension/Model/ShareExtensionManager.m index 37f11b977..1a962c243 100644 --- a/RiotShareExtension/Model/ShareExtensionManager.m +++ b/RiotShareExtension/Model/ShareExtensionManager.m @@ -395,9 +395,18 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode) } return; } - //Send the image + + // Prepare the image + BOOL rotated = NO; UIImage *image = [[UIImage alloc] initWithData:imageData]; + // Make sure the uploaded image orientation is up + if (image.imageOrientation != UIImageOrientationUp) + { + image = [MXKTools forceImageOrientationUp:image]; + rotated = YES; + } + if (self.imageCompressionMode == ImageCompressionModeSmall) { image = [MXKTools reduceImage:image toFitInSize:CGSizeMake(MXKTOOLS_SMALL_IMAGE_SIZE, MXKTOOLS_SMALL_IMAGE_SIZE)]; @@ -415,14 +424,27 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode) if ([itemProvider hasItemConformingToTypeIdentifier:(__bridge NSString *)kUTTypePNG]) { mimeType = @"image/png"; + + if (rotated) + { + // Update imageData + imageData = UIImagePNGRepresentation(image); + } } else if ([itemProvider hasItemConformingToTypeIdentifier:(__bridge NSString *)kUTTypeJPEG]) { mimeType = @"image/jpeg"; + + if (rotated) + { + // Update imageData + imageData = UIImageJPEGRepresentation(image, 1.0); + } } else { - image = [[UIImage alloc] initWithData:UIImageJPEGRepresentation(image, 1.0)]; + imageData = UIImageJPEGRepresentation(image, 1.0); + image = [[UIImage alloc] initWithData:imageData]; mimeType = @"image/jpeg"; }