关闭

四.照相机和摄像头

标签: 摄像头iOS增强现实个人信息上传图片
243人阅读 评论(0) 收藏 举报
分类:

Demo:http://download.csdn.net/detail/liufeng703/9286207

1.图像抓取

通过摄像头我们可以抓取图像和捕获视频,图像抓取主要是UIImagePickerController类和UIImagePickerControllerDelegate委托协议,
其中前者是图像选择器控件对应的控制器类

1.1图像选择器

UIImagePickerController不仅可以实现选取图像还可以捕获视频,而且还可以从照相机中选取图像,从相簿和相机胶卷中选择。
相簿和相机胶卷有区别,前者包含后者,前者有网络下载的图片,收藏的图片等,后者只能看到的是通过照相机拍摄的照片。

—UIImagePickerController的主要属性是sourcesType 它枚举了3个常量

 [ ] UIImagePickerControllerSourcesTypePhotoLibrary  设置图片来源为相簿

 [ ] UIImagePickerControllerSourcesTypeCamera          设置图片来源为照片机

 [ ] UIImagePickerControllerSourcesTypeAlbum            设置图片来源为相机胶卷

还必须实现代理中的两个方法

 [ ]  —imagePickerController:didFinishPickingMediaWithInfo 当选择完成的时候调用

 [ ]  —imagePickerControllerDidCancel   当选择取消的时候调用

2.图像保存

有的时候需要把抓取的图像保存到设备中,可以使用`UIImageWriteToSavedPhotosAlbum`函数将图片保存到相机胶卷中,这个函数的定义如下:
void UIImageWriteToSavedPhotosAlbum
{
    UIImage  *image,
     id         completionTarget,
     SEL      completionSelector,
    void        *contextInfo
}

其中image参数是要保存的图片对象,completionTarget是保存完成后的回调对象,completionSelector是保存完成后的回调方法,contextInfo是上下文信息

然后completionSelector回调的方法的方法名可以自己自定义,但必须包含3个参数,且参数类型必须固定,
例子:

-(void)Image:(UIImage*)image SavingWithError:(NSError *)error ContentInfo:(void*)contentinfo

3.添加相机图层
有的应用需要自定义相机的控制按钮,这种情况下需要使用照相机图层技术,基本是将这个按钮放在一个透明视图上,然后将这个透明视图赋值给UIImagePickerController的cameraOverlayView属性

4.捕获视频
捕获视频的方法有两个,一个是录制视频保存到设备中,方便之后观看和分享,另一个是知识捕获视频数据流,不保存文件,使用它来开发一些增强现实的应用和游戏。我主要讲下捕获视频数据流,有两种方式:1.使用UIImagePickerController捕获 2.使用AVFoundation捕获

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2579次
    • 积分:105
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类