UIImagePickerController 从相机拍照 - 默认为正方形

Posted

技术标签:

【中文标题】UIImagePickerController 从相机拍照 - 默认为正方形【英文标题】:UIImagePickerController Taking Picture From Camera - Default to square 【发布时间】:2015-01-16 08:04:14 【问题描述】:

希望从我们的应用中仅提供方形照片拍摄选项。现在使用下面的代码,它在捕获后给出方形裁剪选项。但希望它与默认的相机方形选项完全相同。此外,我们不想显示除正方形以外的任何内容。

下面是我们正在使用的代码。

UIImagePickerController *controller = [[UIImagePickerController alloc] init];
       controller.sourceType = UIImagePickerControllerSourceTypeCamera;
       controller.allowsEditing = YES;
       controller.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
      // controller.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeCamera];
       controller.delegate = self;
       [self.navigationController presentViewController: controller animated: YES completion: nil];

附上截图

    这是我们的应用

    我们希望它是这样的。

【问题讨论】:

嗨,您找到解决方案了吗? 相机胶卷中的照片... 【参考方案1】:

将allowEditing 设置为YES。从结果字典中使用键 UIImagePickerControllerEditedImage

然后您将获得方形图像。

我没有办法让用户选择他想要的格式:(

【讨论】:

【参考方案2】:

正如 Shubham Narang 所说,在 imagePickerController:didFinishPickingMediaWithInfo 方法中使用 UIImagePickerControllerEditedImage。

UIImage *originalImage =  (UIImage *) [info objectForKey:UIImagePickerControllerEditedImage];

if(!originalImage)

    originalImage = (UIImage *) [info objectForKey:UIImagePickerControllerOriginalImage];

如果编辑(裁剪)图像不存在,此代码将使用原始图像

【讨论】:

以上是关于UIImagePickerController 从相机拍照 - 默认为正方形的主要内容,如果未能解决你的问题,请参考以下文章

从 UITabBarController 驱动 UIImagePickerController

从 UIImagePickerController 保存视频

UIImagePickerController 从 UICollectionViewCell 内的 UIImageView 呈现

如何从 UIImagePickerController 获取图像文件名

从 UIImagePickerController 获取图像位置

从 UIImagePickerController 传递图像数据以进行后台处理