如何调用本地相册、相机
2015-12-20 19:47
232 查看
[align=center] [/align]
1、判断系统是否支持相机
[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
2、创建相册视图控制器对象
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
3、设置sourceType(资源类型)
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;//相机
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;//图片库
imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;//保存的图片
4、设置弹出动画(可选)
imagePickerController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
5、设置是否允许编辑图片
imagePickerController.allowsEditing = YES;
6、设置代理(UIImagePickerControllerDelegate)
imagePickerController.delegate = self;
7、实现代理方法:获取图片
[align=left]- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info[/align]
[align=left]{[/align]
[align=left] [picker dismissViewControllerAnimated:YES completion:nil];[/align]
[align=left] //获取图片[/align]
[align=left] UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];[/align]
[align=left]}[/align]
[align=left]//取消点击[/align]
[align=left]- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker[/align]
[align=left]{[/align]
[align=left] [self dismissViewControllerAnimated:YES completion:^{}];[/align]
[align=left]}[/align]
8、保存图片到相册
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);//image:要保存的图片UImage对象,
[align=left]- (void) image: (UIImage *) image[/align]
[align=left]didFinishSavingWithError: (NSError *) error[/align]
[align=left] contextInfo: (void *) contextInfo{[/align]
[align=left]//如果error==NULL,则表示图片保存成功[/align]
}
具体代码:
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(10, 50, 80, 80);
btn.backgroundColor = [UIColor redColor];
[btn addTarget:self action:@selector(showpicker) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
-(void)showpicker{
UIImagePickerController *imagepicker = [[UIImagePickerController alloc]init];
imagepicker.sourceType = 2;//设置类型(0代表调用相册,1 代表弹出相机)
imagepicker.allowsEditing = YES;//是否允许编辑,默认no,设置为yes时,点击图片会进入编辑界面(裁剪)
imagepicker.delegate = self;//设置代理
[self presentViewController:imagepicker animated:YES completion:nil];//弹出相册/相机
}
//选择图片后调用的代理方法
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
NSLog(@"%@",info);
UIImage *image = info[@"UIImagePickerControllerEditedImage"];//获取图片
UIImageView *imageview = [[UIImageView alloc]initWithImage:image];
imageview.frame = CGRectMake(40, 150, 100, 100);
[self.view addSubview:imageview];
[self dismissViewControllerAnimated:YES completion:nil];//消失imagepicker
}
1、判断系统是否支持相机
[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
2、创建相册视图控制器对象
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
3、设置sourceType(资源类型)
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;//相机
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;//图片库
imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;//保存的图片
4、设置弹出动画(可选)
imagePickerController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
5、设置是否允许编辑图片
imagePickerController.allowsEditing = YES;
6、设置代理(UIImagePickerControllerDelegate)
imagePickerController.delegate = self;
7、实现代理方法:获取图片
[align=left]- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info[/align]
[align=left]{[/align]
[align=left] [picker dismissViewControllerAnimated:YES completion:nil];[/align]
[align=left] //获取图片[/align]
[align=left] UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];[/align]
[align=left]}[/align]
[align=left]//取消点击[/align]
[align=left]- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker[/align]
[align=left]{[/align]
[align=left] [self dismissViewControllerAnimated:YES completion:^{}];[/align]
[align=left]}[/align]
8、保存图片到相册
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);//image:要保存的图片UImage对象,
[align=left]- (void) image: (UIImage *) image[/align]
[align=left]didFinishSavingWithError: (NSError *) error[/align]
[align=left] contextInfo: (void *) contextInfo{[/align]
[align=left]//如果error==NULL,则表示图片保存成功[/align]
}
具体代码:
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(10, 50, 80, 80);
btn.backgroundColor = [UIColor redColor];
[btn addTarget:self action:@selector(showpicker) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
-(void)showpicker{
UIImagePickerController *imagepicker = [[UIImagePickerController alloc]init];
imagepicker.sourceType = 2;//设置类型(0代表调用相册,1 代表弹出相机)
imagepicker.allowsEditing = YES;//是否允许编辑,默认no,设置为yes时,点击图片会进入编辑界面(裁剪)
imagepicker.delegate = self;//设置代理
[self presentViewController:imagepicker animated:YES completion:nil];//弹出相册/相机
}
//选择图片后调用的代理方法
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
NSLog(@"%@",info);
UIImage *image = info[@"UIImagePickerControllerEditedImage"];//获取图片
UIImageView *imageview = [[UIImageView alloc]initWithImage:image];
imageview.frame = CGRectMake(40, 150, 100, 100);
[self.view addSubview:imageview];
[self dismissViewControllerAnimated:YES completion:nil];//消失imagepicker
}
相关文章推荐
- GYM 100796C Minimax Tree
- java(十)return
- Python创建中文目录
- JavaScript设计模式--中介者模式
- Snackbar 的简单使用
- UESTC 482 Charitable Exchange(四川省赛B题)
- CCF CSP 201509-4 树的直径 相关解题方法和网址
- java异常处理及定义
- 数据结构基础(一)线性表
- 校内赛总结
- 如何更改Linux中默认的openjdk为自己安装的JDK
- 当自己的Ubuntu遇到卡死的时候
- JMockit简单使用(二)
- Linux网络编程笔记
- unity 常用优化技术
- zstuoj (浙理工) 孙壕请一盘青岛大虾呗
- Autolayout(VFL)
- anr,多线程,handler
- Google java编程风格指南
- android网络编程之HttpUrlConnection的讲解--实现文件断点下载