iphone – UIImagePickerControllerOriginalImage vs原始资产数
发布时间:2020-12-14 20:01:53 所属栏目:百科 来源:网络整理
导读:在我正在开发的应用程序中,我使用的是用户从相册中选择的图像.我需要将该照片的高分辨率版本上传到我的服务器. 我正在使用imagePickerController,我已经确定我有2个选项 使用UIImagePickerControllerOriginalImage中的UIImage 使用UIImagePickerControllerRe
在我正在开发的应用程序中,我使用的是用户从相册中选择的图像.我需要将该照片的高分辨率版本上传到我的服务器.
我正在使用imagePickerController,我已经确定我有2个选项 >使用UIImagePickerControllerOriginalImage中的UIImage 我的问题是……如果我使用第一个选项和第二个选项,图像的质量是否有任何差异? -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ //option 1 UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; NSData *imgData = UIImagePNGRepresentation(image); // option 2 (will prompt user to allow use of current location) NSURL *imgURL = [info objectForKey:@"UIImagePickerControllerReferenceURL"]; __block NSData* imgData; ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init]; [assetLibrary assetForURL:img resultBlock:^(ALAsset *asset) { ALAssetRepresentation *rep = [asset defaultRepresentation]; Byte *buffer = (Byte*)malloc(rep.size); NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil]; imgData = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES]; } failureBlock:^(NSError *err) { NSLog(@"Error: %@",[err localizedDescription]); }]; } 解决方法
我运行了一个使用两个选项比较图像的测试.使用选项1,图像是两倍大(4.22 MB对2.04 MB).在Photoshop中查看照片,质量似乎没有任何重大差异.查看级别时,选项1创建的级别不是那么平滑(下图).当查看文件属性时,由选项1创建的属性缺少一些由选项2创建的文件的“origin”,“camera”和“advanced photo”选项.我还没有决定使用哪种方式,但希望这些信息可以帮助别人!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |