如何从iPhone中的本机应用程序打开相机?

时间:2009-09-15 02:57:10

标签: iphone objective-c xcode image editing

我想写一个应用程序,我在其中打开相机拍照,然后编辑图片。我想在图像上应用一些很酷的效果。像图像编辑......有人知道一个好的或我说最好的办法是实现这个目标吗?

我想知道创建像图像编辑这样的aap是必要的吗?

2 个答案:

答案 0 :(得分:4)

这真的很容易。您的代码将位于UIViewController的子类中,让此类符合UIImagePickerControllerDelegate协议,这允许您的控制器从相机和/或用户库接收图像。

现在您必须创建并显示UIImagePickerController,此视图控制器既可用于从用户库中选择图像,也可用于使用相机拍摄图像/视频。实现这样的东西:

-(IBAction)takePictureWithCamera {
  UIImagePickerController* controller = [[UIImagePickerController alloc] init];
  controller.delegate = self;
  [self presentModalViewController:controller animated:YES];
  [controller release];
}

这将显示图像选择器,请参阅UIImagePickerController的文档,了解如何根据需要进一步自定义。

接下来,您需要接收用户选择的图像,或者使用相机拍摄的图像。这是通过从imagePickerController:didFinishPickingMediaWithInfo:协议实施方法UIImagePickerControllerDelegate来完成的。

-(void)imagePickerController:(UIImagePickerController*)picker
    didFinishPickingMediaWithInfo:(NSDictionary*)info {
  UIImage* image = [info objectForKey: UIImagePickerControllerOriginalImage];
  // Do stuff to image.
}

就是这样。

答案 1 :(得分:2)

看一下UIImagePickerController课程。它是一个视图控制器,您可以以模态方式呈现,它允许您使用iPhone的原生界面从相机“选择”图像来拍照。