IOS UIImagePickerController从拍照、图库、相册获取图片

iOS 获取图片有三种方法:
1. 直接调用摄像头拍照
2. 从相册中选择
3. 从图库中选择
UIImagePickerController 是系统提供的用来获取图片和视频的接口;
用UIImagePickerController 类来获取图片视频,大体分为以下几个步骤:
1. 初始化UIImagePickerController 类;
2. 设置UIImagePickerController 实例的数据来源类型(下面解释);
3. 设置设置代理;
4. 如果需要做图片修改的话设置allowsEditing =yes。
数据来源类型一共有三种:
enum {
UIImagePickerControllerSourceTypePhotoLibrary ,//来自图库
UIImagePickerControllerSourceTypeCamera ,//来自相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum //来自相册
};
在用这些来源的时候最好检测以下设备是否支持;
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
NSLog(@"支持相机");
}
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
{
NSLog(@"支持图库");
}
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
NSLog(@"支持相片库");
}
调用摄像头来获取资源
- (void)viewDidLoad {
[super viewDidLoad];
picker = [[UIImagePickerController alloc]init];
picker.view.backgroundColor = [UIColor orangeColor];
UIImagePickerControllerSourceType sourcheType = UIImagePickerControllerSourceTypeCamera;
picker.sourceType = sourcheType;
picker.delegate = self;
picker.allowsEditing = YES;
}
上面只是实例了UIImagePickerController及其属性 在需要获取图片的时候需要弹出窗口调用
[self presentViewController:picker animated:YES completion:nil];
我们还需要代理来获取我们选中的图片
UIImagePickerControllerDelegate
代理中一共三个方法 其中一个3.0 已经废弃了,只剩下两个我们需要用的
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;
当用户选取完成后调用;
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
当用户取消选取时调用;
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;
选取的信息都在info中,info 是一个字典。
字典中的键:
NSString *const UIImagePickerControllerMediaType ;指定用户选择的媒体类型(文章最后进行扩展) NSString *const UIImagePickerControllerOriginalImage ;原始图片 NSString *const UIImagePickerControllerEditedImage ;修改后的图片 NSString *const UIImagePickerControllerCropRect ;裁剪尺寸 NSString *const UIImagePickerControllerMediaURL ;媒体的URL NSString *const UIImagePickerControllerReferenceURL ;原件的URL NSString *const UIImagePickerControllerMediaMetadata;当来数据来源是照相机的时候这个值才有效
UIImagePickerControllerMediaType 包含着KUTTypeImage 和KUTTypeMovie
KUTTypeImage 包含:
const CFStringRef kUTTypeImage ;抽象的图片类型 const CFStringRef kUTTypeJPEG ; const CFStringRef kUTTypeJPEG2000 ; const CFStringRef kUTTypeTIFF ; const CFStringRef kUTTypePICT ; const CFStringRef kUTTypeGIF ; const CFStringRef kUTTypePNG ; const CFStringRef kUTTypeQuickTimeImage ; const CFStringRef kUTTypeAppleICNS const CFStringRef kUTTypeBMP; const CFStringRef kUTTypeICO;
KUTTypeMovie 包含:
const CFStringRef kUTTypeAudiovisualContent ;抽象的声音视频 const CFStringRef kUTTypeMovie ;抽象的媒体格式(声音和视频) const CFStringRef kUTTypeVideo ;只有视频没有声音 const CFStringRef kUTTypeAudio ;只有声音没有视频 const CFStringRef kUTTypeQuickTimeMovie ; const CFStringRef kUTTypeMPEG ; const CFStringRef kUTTypeMPEG4 ; const CFStringRef kUTTypeMP3 ; const CFStringRef kUTTypeMPEG4Audio ; const CFStringRef kUTTypeAppleProtectedMPEG4Audio;
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# IOS
# UIImagePickerController
# 从相册
# 图库及拍照获取图片
# iOS系统的底层通知框架库示例详解
# iOS开发笔记之键盘、静态库、动画和Crash定位
# 基于iOS Realm数据库的使用实例详解
# iOS开发中如何优雅的调试数据库详解
# iOS中.a和.framework静态库的创建与.bundle资源包的使用详解
# iOS开发Firebase中的常用库使用及功能详解
# 是一个
# 都在
# 如有
# 希望能
# 三种
# 只剩下
# 还需要
# 其中一个
# 头来
# 谢谢大家
# 含着
# 需要用
# 有三种
# 弹出窗口
# 疑问请
# 分为以下
# 直接调用
# 几个步骤
# 完成后
# backgroundColor
相关文章:
已有域名能否直接搭建网站?
如何用西部建站助手快速创建专业网站?
建站主机选购指南与交易推荐:核心配置解析
网站微信制作软件,如何制作微信链接?
如何生成腾讯云建站专用兑换码?
郑州企业网站制作公司,郑州招聘网站有哪些?
建站主机选购指南:核心配置优化与品牌推荐方案
如何在建站之星绑定自定义域名?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
如何在局域网内绑定自建网站域名?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何快速生成橙子建站落地页链接?
魔方云NAT建站如何实现端口转发?
建站之星如何助力企业快速打造五合一网站?
安徽网站建设与外贸建站服务专业定制方案
动图在线制作网站有哪些,滑动动图图集怎么做?
如何用PHP工具快速搭建高效网站?
建站之星客服服务时间及联系方式如何?
建站之星2.7模板:企业网站建设与h5定制设计专题
建站之星×万网:智能建站系统+自助建站平台一键生成
如何通过网站建站时间优化SEO与用户体验?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
如何获取上海专业网站定制建站电话?
如何安全更换建站之星模板并保留数据?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
音乐网站服务器如何优化API响应速度?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
建设网站制作价格,怎样建立自己的公司网站?
网站制作服务平台,有什么网站可以发布本地服务信息?
Bpmn 2.0的XML文件怎么画流程图
如何用已有域名快速搭建网站?
网站制作公司排行榜,四大门户网站排名?
如何快速配置高效服务器建站软件?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
制作宣传网站的软件,小红书可以宣传网站吗?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
个人网站制作流程图片大全,个人网站如何注销?
如何快速登录WAP自助建站平台?
如何正确下载安装西数主机建站助手?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
建站之星好吗?新手能否轻松上手建站?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
微课制作网站有哪些,微课网怎么进?
网站制作说明怎么写,简述网页设计的流程并说明原因?
如何使用Golang安装API文档生成工具_快速生成接口文档
*请认真填写需求信息,我们会在24小时内与您取得联系。