2

我仍然有uiimagepickercontroller这个问题。这应该是直接的,但我仍然无法弄清楚。或者我可能会走错方向。UIImagePickerController allowsEditing = YES问题

我称之为imagepicker,以便用户可以从相机胶卷/相册中加载照片/从相机拍摄照片。这部分没有问题。

当我将allowedEditing设置为YES时,会变得很奇怪。 didiFinishPickingMediaWithInfo委托会返回一个NSDictionary *信息,其中既有editedImage也有originalImage,即使用户没有裁剪选择器中显示的图像。所以问题是我如何检测用户是否裁剪图像?

我需要的是我的应用程序允许用户裁剪图像,如果他愿意,但他也可以选择不裁剪,从而返回原始照片。目前我正在使用一个分段控件供用户在加载照片之前进行预先选择,我觉得这很不方便。也许有些用户不理解它。

那么我怎么能实现我所需要的,而不会让用户困扰呢?

回答

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 
} 
+0

嗨马修,谢谢你的回答。无论如何,我认为如果我这样做,它将永远是真实的。因为,比如,说我正在加载一幅肖像照片,当设置allowsEditing = YES时,那么裁剪方块已经在那里,因此,即使用户还没有裁剪过它,editedImage也将始终返回该方块内的任何内容。我想到了一个解决方法,或者询问用户是否要剪裁照片,然后根据该输入呈现选择器。我没有其他的想法。 – GeneCode 2010-12-07 15:20:17

-1

只要使用这个..它会自动返回正确的图像,裁剪或uncropped的......,你还有所有信息只是incase :)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)info 
{ 
相关问题