【发布时间】:2010-12-02 11:46:17
【问题描述】:
如何创建一个应用程序来启动摄像头并使用摄像头拾取的图像更新图像视图?
【问题讨论】:
标签: iphone objective-c camera
如何创建一个应用程序来启动摄像头并使用摄像头拾取的图像更新图像视图?
【问题讨论】:
标签: iphone objective-c camera
试试这个。
在viewDidLoad方法中,初始化UIImagePickerController,将其属性sourceType赋值为UIImagePickerControllerSourceTypeCamera,委托为self。
在您的视图控制器中定义一个按钮,在其单击事件中获取图像选择器的模态视图,例如:
[self presentModalViewController:self.picker animated:YES];
这里的picker是UIImagePickerController的对象。
接下来,实现 UIImagePickerController 的 didFinishPickingMediaWithInfo 委托。在此委托中,您可以将 UIImage 分配给 Dictionary 对象信息,然后将图像保存到您的本地 UIImageView 实例(其 ImageToSave 下面)
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
UIImage *img = [info objectForKey:@"UIImagePickerControllerImage"];
ImageToSave.image = img;
}
不要忘记将 UIImagePickerControllerDelegate 包含到主视图控制器的 .h 文件中。
看看这是否有效。
【讨论】:
如果你想一想,self.view = picker.cameraOverlayView 只是在你自己的上面复制一个空的透明视图!!它甚至没有将它添加到屏幕上,而不是它会起作用......
相反,您需要提供选择器控制器:
[self.navigationController presentModalViewController:picker animated:YES];
然后确保实现委托调用(看起来你可能已经设置了委托)
【讨论】: