UIImagePickerController之打开图片库和相机选择图片修改头像
来源:互联网 发布:淘宝祖国版手办好莱污 编辑:程序博客网 时间:2024/05/17 17:15
1、效果图:
2、主要源代码:
- (void)viewDidLoad{ [super viewDidLoad]; //获取Documents文件夹目录 NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentPath = [path objectAtIndex:0]; //指定新建文件夹路径 NSString *imageDocPath = [documentPath stringByAppendingPathComponent:@"ImageFile"]; //创建ImageFile文件夹 [[NSFileManager defaultManager] createDirectoryAtPath:imageDocPath withIntermediateDirectories:YES attributes:nil error:nil]; //保存图片的路径 self.imagePath = [imageDocPath stringByAppendingPathComponent:@"image.png"]; }-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:YES]; //根据图片路径载入图片 UIImage *image=[UIImage imageWithContentsOfFile:self.imagePath]; if (image == nil) { //显示默认 [changeImg setBackgroundImage:[UIImage imageNamed:@"user_photo@2x.png"] forState:UIControlStateNormal]; }else { //显示保存过的 [changeImg setBackgroundImage:image forState:UIControlStateNormal]; }}- (void)dealloc { [imagePath release]; [changeImg release]; [super dealloc];}- (IBAction)changeImage:(id)sender { UIActionSheet *myActionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles: @"从相册选择", @"拍照",nil]; [myActionSheet showInView:self.view]; [myActionSheet release]; }-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ switch (buttonIndex) { case 0: //从相册选择 [self LocalPhoto]; break; case 1: //拍照 [self takePhoto]; break; default: break; }}//从相册选择-(void)LocalPhoto{ UIImagePickerController *picker = [[UIImagePickerController alloc] init]; //资源类型为图片库 picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; picker.delegate = self; //设置选择后的图片可被编辑 picker.allowsEditing = YES; [self presentModalViewController:picker animated:YES]; [picker release];}//拍照-(void)takePhoto{ //资源类型为照相机 UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; //判断是否有相机 if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){ UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; //设置拍照后的图片可被编辑 picker.allowsEditing = YES; //资源类型为照相机 picker.sourceType = sourceType; [self presentModalViewController:picker animated:YES]; [picker release]; }else { NSLog(@"该设备无摄像头"); }}#pragma Delegate method UIImagePickerControllerDelegate //图像选取器的委托方法,选完图片后回调该方法 -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{ //当图片不为空时显示图片并保存图片 if (image != nil) { //图片显示在界面上 [changeImg setBackgroundImage:image forState:UIControlStateNormal]; //以下是保存文件到沙盒路径下 //把图片转成NSData类型的数据来保存文件 NSData *data; //判断图片是不是png格式的文件 if (UIImagePNGRepresentation(image)) { //返回为png图像。 data = UIImagePNGRepresentation(image); }else { //返回为JPEG图像。 data = UIImageJPEGRepresentation(image, 1.0); } //保存 [[NSFileManager defaultManager] createFileAtPath:self.imagePath contents:data attributes:nil]; } //关闭相册界面 [picker dismissModalViewControllerAnimated:YES];}
源码下载地址:http://download.csdn.net/download/rhljiayou/4585011;
- UIImagePickerController之打开图片库和相机选择图片修改头像
- ios 使用UIImagePickerController 打开图片库和相机选择图片修改头像(iphone版本)
- ios 使用UIImagePickerController 打开图片库和相机选择图片修改头像(iphone版本)
- ios 使用UIImagePickerController 打开图片库和相机选择图片修改头像
- UIImagePickerController 打开图片库和相机选择图片
- iOS巅峰之打开图片库和相机选择图片界面修改为简体中文
- ios 打开图片库和相机选择图片界面修改为简体中文
- ios 打开图片库和相机选择图片界面修改为简体中文
- ios 打开图片库和相机选择图片界面修改为简体中文
- ios 打开图片库和相机选择图片界面修改为简体中文
- ios 打开图片库和相机选择图片界面英文修改为简体中文
- Unity Android/IOS 打开图片库和相机,并加载图片
- UIImagePickerController(获取相册图片,打开相机)
- iOS 调用相机拍照和选择图库图片 设置头像
- 实现显示圆形头像及选择相册相机修改头像
- ionic开发之用户头像修改-图片选择与上传
- 打开相机照片和本机相册选择图片
- Android之圆形头像(实现相机拍摄+相册选择+图片裁剪功能)
- Lucene生成查询的函数调用关系
- IIS的配置
- 正则表达式简介
- Oracle索引分析
- linux下解压命令大全
- UIImagePickerController之打开图片库和相机选择图片修改头像
- LFS学习(7)安装基础软件包
- Oracle数据文件迁移(详细版)
- 我们都一样
- EWS Managed API 介绍
- 为什么要在性能测试中设置考虑时间(Thinking Time)
- Linux中KVM的使用
- 《机器学习》 梯度下降
- C#中的操作符