diff --git a/src/ios/SOSPicker.m b/src/ios/SOSPicker.m index da08db24..c3076ae7 100644 --- a/src/ios/SOSPicker.m +++ b/src/ios/SOSPicker.m @@ -27,7 +27,7 @@ - (void) getPictures:(CDVInvokedUrlCommand *)command { // Create the an album controller and image picker ELCAlbumPickerController *albumController = [[ELCAlbumPickerController alloc] init]; - + if (maximumImagesCount == 1) { albumController.immediateReturn = true; albumController.singleSelection = true; @@ -35,7 +35,7 @@ - (void) getPictures:(CDVInvokedUrlCommand *)command { albumController.immediateReturn = false; albumController.singleSelection = false; } - + ELCImagePickerController *imagePicker = [[ELCImagePickerController alloc] initWithRootViewController:albumController]; imagePicker.maximumImagesCount = maximumImagesCount; imagePicker.returnsOriginalImage = 1; @@ -69,11 +69,11 @@ - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPic do { filePath = [NSString stringWithFormat:@"%@/%@%03d.%@", docsPath, CDV_PHOTO_PREFIX, i++, @"jpg"]; } while ([fileMgr fileExistsAtPath:filePath]); - + @autoreleasepool { ALAssetRepresentation *assetRep = [asset defaultRepresentation]; CGImageRef imgRef = NULL; - + //defaultRepresentation returns image as it appears in photo picker, rotated and sized, //so use UIImageOrientationUp when creating our image below. if (picker.returnsOriginalImage) { @@ -82,7 +82,7 @@ - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPic } else { imgRef = [assetRep fullScreenImage]; } - + UIImage* image = [UIImage imageWithCGImage:imgRef scale:1.0f orientation:orientation]; if (self.width == 0 && self.height == 0) { data = UIImageJPEGRepresentation(image, self.quality/100.0f); @@ -90,7 +90,7 @@ - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPic UIImage* scaledImage = [self imageByScalingNotCroppingForSize:image toSize:targetSize]; data = UIImageJPEGRepresentation(scaledImage, self.quality/100.0f); } - + if (![data writeToFile:filePath options:NSAtomicWrite error:&err]) { result = [CDVPluginResult resultWithStatus:CDVCommandStatus_IO_EXCEPTION messageAsString:[err localizedDescription]]; break; @@ -100,7 +100,7 @@ - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPic } } - + if (nil == result) { result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsArray:resultStrings]; } @@ -143,7 +143,7 @@ - (UIImage*)imageByScalingNotCroppingForSize:(UIImage*)anImage toSize:(CGSize)fr } else { scaleFactor = widthFactor; // scale to fit width } - scaledSize = CGSizeMake(width * scaleFactor, height * scaleFactor); + scaledSize = CGSizeMake(floor(width * scaleFactor), floor(height * scaleFactor)); } UIGraphicsBeginImageContext(scaledSize); // this will resize