访问系统相册或调用摄像头
头文件:#import <MobileCoreServices/MobileCoreServices.h>
协议:<UINavigationControllerDelegate, UIImagePickerControllerDelegate>
// 调用系统相册获取图片
- (IBAction)getImageFromAlbum:(id)sender {
// 判断系统相册是否可用(比如用户不允许应用访问他的相册,就不可用)
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
[self loadImagePickerControllerWithSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
} else {
NSLog(@"无法调用系统相册");
}
}
// 拍照
- (IBAction)takePhoto:(id)sender {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
[self loadImagePickerControllerWithSourceType:UIImagePickerControllerSourceTypeCamera];
} else {
NSLog(@"无法调用相机功能");
}
}
- (void)loadImagePickerControllerWithSourceType:(UIImagePickerControllerSourceType)type {
UIImagePickerController *controller = [[UIImagePickerController alloc] init];
controller.sourceType = type;
controller.delegate = self; // <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
controller.allowsEditing = YES;
[self presentViewController:controller animated:YES completion:nil];
}
#pragma mark - <UIImagePickerControllerDelegate>
// 选完图片时回调
/**
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {}
*/
// 选完媒体资源【(图片)(小视频)】时回调
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// 判断选中的资源的类型
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
// kUTTypeImage 系统预置的图片资源类型
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
// self.view.backgroundColor = [UIColor colorWithPatternImage:image];
// 将原图压缩成50*50的尺寸
UIImage *smallImage = [[ImageTool shareTool] resizeImageToSize:CGSizeMake(300,300) sizeOfImage:image];
self.view.backgroundColor = [UIColor colorWithPatternImage:smallImage];
}
[picker dismissViewControllerAnimated:YES completion:nil];
}
// 取消【点击cancel的时候触发】
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[picker dismissViewControllerAnimated:YES completion:nil];
}
访问系统相册或调用摄像头相关推荐
- mui教程2——窗口管理、调用相册、调用摄像头、调用重力感应、微信朋友圈界面(仿制)分析
一.窗口管理 1,页面初始化 在app开发中,若要使用HTML5+扩展api,必须等plusready事件发生后才能正常使用,mui将该事件封装成了mui.plusReady()方法,涉及到HTML5 ...
- Android 访问系统相册选中图片,并返回该图片的路径
博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
- iOS——调用系统相册和相机
iOS--调用系统相册和相机 背景 我们在许多app里可以发现在换头像的时候一般有两个选择,一个是选择本地照片,一个选择是相机也就是直接拍一张照片当头像,另外还有就是可以去修改照片尺寸,所以我们就要知 ...
- java 下拉多级联动 头像裁剪 调用摄像头 SpringMVC mybatis SSM
获取[下载地址] QQ 313596790 三大数据库 mysql oracle sqlsever 更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速 ...
- android调用相册和摄像头,Android8.3调用摄像头和相册
我们平时在使用QQ或微信的时候经常要和别人分享图片,这些图片可以是用手机摄像头拍的,也可以是从相册中选取的.类似这样的功能实在是太常见了,几乎在每个应用程序中都会有,那么本节我们就学习一下调用摄像头和 ...
- Android学习-运用手机多媒体-通知使用技巧、调用摄像头拍照、从相册中选取照片、播放音频和视频文件(MediaPlayer、VideoView)
android提供了一系列的API,使得我们可以在程序中调用很多的多媒体资源,从而编写出更加丰富多彩的应用程序. 使用通知 通知(Notification)是Android系统中比较有特色的一个功能, ...
- Android调用系统相册、拍照以及裁剪最简单的实现(兼容7.0)
这里我只实现功能,具体Android 7.0 的一些细节参考 http://blog.csdn.net/lmj623565791/article/details/72859156 具体步骤: 一.在清 ...
- Android基础实战之调用摄像头与相册 | 带实例
调用摄像头与相册 调用摄像头拍照/从相册选择照片 xml 设置了两个按钮,分别是打开摄像头的按钮,以及打开相册的按钮 <Buttonandroid:id="@+id/take_phot ...
- Swift调用相机和系统相册
首先需要在Info.plist文件中添加两个键值对 然后利用系统类UIImagePickerController调用相机相册,下面已经封装好了类,继承该类调用showImagePickerContro ...
最新文章
- [bzoj1477]青蛙的约会
- 在FireFox浏览器上,用stopImmediatePropagation阻止冒泡鼠标滚动事件
- maven多模块合并打包_Spring Boot 多模块项目实践(附打包方法)
- 阿里云+HCT双证认证,架构师年薪达不到25.6万全额退款
- Nginx+uWSGI 入门
- Java TCP通信概念及实例
- 非受检异常(运行时异常)和受检异常的区别等
- 假如明天灾难来临_北京医保容灾
- pylon保存图片_3.Pylon 以实时图像采集讲解PylonC SDK使用流程 | 学步园
- matlab 简单低通滤波器,基于MATLAB的理想低通滤波器的设计
- SAP从入门到精通 知识体系
- 短信群发行业的短信通道有哪些类别和不同
- Monte-Carlo算法(基本原理,理论基础,应用实践)
- 程序员如何快速了解和掌握一门新技术
- Vue.js快速入门之五:Mockjs的使用和语法详解
- Z 字形变换(C语言)
- ios android 占有率,Android全球占有率28.4% 超iOS一倍
- 华为鸿蒙系统p50,华为p50自带鸿蒙是什么意思_华为p50是鸿蒙系统吗
- Centos 7 下joomla简体中文版安装
- Dmc雷赛板卡仿写(三):创建类