diff --git a/src/android/CameraLauncher.java b/src/android/CameraLauncher.java index 69cb5db7b..23b225eca 100644 --- a/src/android/CameraLauncher.java +++ b/src/android/CameraLauncher.java @@ -1076,8 +1076,8 @@ private Bitmap getScaledAndRotatedBitmap(String imageUrl) throws IOException { * @return */ public int[] calculateAspectRatio(int origWidth, int origHeight) { - int newWidth = this.targetWidth; - int newHeight = this.targetHeight; + int newWidth = Math.min(this.targetWidth, origWidth); + int newHeight = Math.min(this.targetHeight, origHeight); // If no new width or height were specified return the original bitmap if (newWidth <= 0 && newHeight <= 0) { diff --git a/src/ios/UIImage+CropScaleOrientation.m b/src/ios/UIImage+CropScaleOrientation.m index a66a5d88d..c31335635 100644 --- a/src/ios/UIImage+CropScaleOrientation.m +++ b/src/ios/UIImage+CropScaleOrientation.m @@ -28,8 +28,8 @@ - (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize CGSize imageSize = sourceImage.size; CGFloat width = imageSize.width; CGFloat height = imageSize.height; - CGFloat targetWidth = targetSize.width; - CGFloat targetHeight = targetSize.height; + CGFloat targetWidth = MIN(targetSize.width, width); + CGFloat targetHeight = MIN(targetSize.height, height); CGFloat scaleFactor = 0.0; CGFloat scaledWidth = targetWidth; CGFloat scaledHeight = targetHeight; @@ -136,8 +136,8 @@ - (UIImage*)imageByScalingNotCroppingForSize:(CGSize)targetSize CGSize imageSize = sourceImage.size; CGFloat width = imageSize.width; CGFloat height = imageSize.height; - CGFloat targetWidth = targetSize.width; - CGFloat targetHeight = targetSize.height; + CGFloat targetWidth = MIN(targetSize.width, width); + CGFloat targetHeight = MIN(targetSize.height, height); CGFloat scaleFactor = 0.0; CGSize scaledSize = targetSize;