我仍然在使用uiimagepickercontroller这个问题。它应该是直截了当的,但我仍然无法弄明白。或者我可能走错了方向。
我调用imagepicker,以便用户可以从相机胶卷/相册中加载照片/从相机拍摄照片。这部分很好。
当我将allowsEditing设置为YES时变得奇怪。 didiFinishPickingMediaWithInfo委托返回一个NSDictionary *信息,其中包含editedImage和originalImage,即使用户没有裁剪选择器中显示的图像。所以问题是如何检测用户是否裁剪了图像?
我的应用程序需要的是用户可以根据需要裁剪图像,但他也可以选择不裁剪,从而返回原始照片。目前我正在使用分段控件供用户在加载照片前预先选择,我觉得这很不方便。也许有些用户不理解它。
那么如何在不给用户带来太多困难的情况下实现我的需求呢?
答案 0 :(得分:3)
如果显示编辑控件,我非常确定您必须编辑图像。我不知道有什么方法可以摆脱这个广场。
但是,如果我错了,你可以比较他们的尺寸:
editedImage = [info objectForKey:UIImagePickerControllerEditedImage];
originalImage = [info objectForKey:UIImagePickerControllerOriginalImage];
if ((editedImage.size.width != originalImage.size.width) || (editedImage.size.height != originalImage.size.height)) {
// The image has been edited
}
答案 1 :(得分:-1)
只需使用它..它将自动返回正确的图像,裁剪或未剪切......并且您仍然拥有所有信息:)
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)info
{