私は、ユーザーがギャラリーから写真を選択できるようにするアプリを開発中です。私が直面している問題は、UIImagePickerControllerを使用して撮影したときの写真のサイズ(ストレージの点で)が変わると非常に奇妙です。UIImagePickerControllerが元の画像より大きな画像を返します
私の場合、私はエアドロップで写真を撮った。画像サイズは8.7MBです。 UIImagePickerControllerで同じ画像を選択すると、〜13MBの画像が返されます。
注:画像の解像度は同じです([3024、4032])。
私は事をテストするための非常に単純なアプリケーションを作成しました。
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@end
ViewController.m
#import "ViewController.h"
@implementation ViewController
bool flag = true;
- (void)viewDidAppear:(BOOL)animated {
if (flag) {
flag = false;
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
[self presentViewController:picker
animated:YES
completion:NULL];
}
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerOriginalImage];
NSData *temp = UIImageJPEGRepresentation(chosenImage, 1);
NSLog(@"image: %lu", (unsigned long)temp.length);
NSLog(@"image: [%lu, %lu]", (unsigned long)chosenImage.size.width, (unsigned long)chosenImage.size.height);
[picker dismissViewControllerAnimated:YES completion:NULL];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissViewControllerAnimated:YES
completion:NULL];
}
@end
this is the link to the app、あなた自身のためにそれをテストしたい場合には:ここではサンプルコードです。
zipファイルにはサンプル写真も含まれています。
何か助けていただければ幸いです。
述べて計算を追加してください。あなたは何に等しいと予想していますか? – danh
この回答は問題を解決します。 http://stackoverflow.com/a/38475923/1120688 – harshitgupta