【问题标题】:Wrong version of image from UIImagePickerController来自 UIImagePickerController 的图像版本错误
【发布时间】:2013-01-17 12:13:04
【问题描述】:

我的 UIImagePickerController 组件有问题。目前在我的应用程序中,用户可以使用选择器从保存的照片库中选择图像,没有问题。

但是,如果我在选择图像之前裁剪并保存照片在 Photos.app 中,UIImagePickerController 会在 UIImagePickerControllerOriginalImage 字典键中为我提供原始未裁剪版本。

我知道UIImagePickerControllerEditedImage 在选择器内完成裁剪时有效,但在照片应用程序中完成后,此键返回 nil。

所以我的问题是,如何访问正确版本的图像(无需使用 ALAssetLibrary 滚动我自己的选择器)?

【问题讨论】:

    标签: ios uiimagepickercontroller


    【解决方案1】:

    解决方案很简单;我使用的是UIImagePickerControllerSourceTypeSavedPhotosAlbum 而不是UIImagePickerControllerSourceTypePhotoLibrary

    【讨论】:

      【解决方案2】:

      你是什么

      -(void)imagePickerController:(UIImagePickerController *)pickr didFinishPickingMediaWithInfo;
      

      类似的方法?

      你有没有尝试过类似的事情

      -(void)imagePickerController:(UIImagePickerController *)pickr didFinishPickingMediaWithInfo:(NSDictionary *)info{
          UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
          [myImageView setImage:image];
          [pickr dismissModalViewControllerAnimated:YES];
      }
      

      (在示例中为UIImagePickerControllerEditedImage,不知道您是否将选择器设置为“是”allowEditing

      【讨论】:

      • 是的,基本上就是这样 - allowEditing 设置为 NO 所以 UIImagePickerControllerEditedImage 返回 nil; UIImagePickerControllerOriginalImage 给了我第一次保存到设备的图像版本,而不是在 Photos.app 中编辑的版本。
      • 尝试将allowEditing设置为YES,我认为编辑到Photos.app中的版本可能会被识别为“已编辑”,然后它会返回原始版本
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 2016-01-01
      相关资源
      最近更新 更多