2012-07-06 67 views
0

设置自定义图像我有UIActionSheet带有3个选项 -哪有我的UIImagePickerController

  1. 拍照(从照相机)
  2. 选择从库
  3. 编辑照片(如果用户的个人资料图片)

我使用UIImagePickerController并且没有第2个选项的问题。用户选择照片,然后可以缩放/移动以裁剪一张照片。

所以,我的问题是 - 我如何可以把已保存的照片进行编辑(第三选项)与当前的比例因子和帧。 F.e如果我选择“编辑照片”我想要获得我预览后选择的相同照片“状态”。

这就是本机“联系人”应用程序的工作原理!

photo's preview

回答

1

您需要访问您的委托方法的UIImagePickerControllerEditedImage对象:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; 
    if (!image) image = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    .... 
} 

然后你就可以在自己的编辑视图控制器使用该图片。 Contacts应用程序以这种方式工作,因为它将编辑后的图像写回到ALAsset,这是一种破坏性更改。在您的应用中为用户执行此操作可能是一个糟糕的主意,因此最好编写自己的编辑图像控制器来处理编辑后的图像,而不是UIImagePickerController。 A search on github显示了可以帮助你在这里裁剪的大量开源回购站。

+0

我认为它可能是一些本地工作人员喜欢pickerController.originalImage = originalImage;和pickierController.croppedImage = croppedImage;运行编辑模式。 – Injectios 2012-07-06 14:36:14

相关问题