选着图片后可以编辑图片和如何使用摄像机获取图片并保存相册



        

       将UIImagePickerController的allowEditing属性设置为YES后,选着的照片(摄影的),都可以对图片进行扩大、缩小等操作。编辑后的照片也在

[objc] view plain  copy
 print ?
  1. -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  

方法中以UIImagePickerControllerEditedImage为键值从Info中取得并返回UIImage实例

首先创建一个UIImageView。代码如下:

[objc] view plain  copy
 print ?
  1. @interface ViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>  
  2.   
  3. {  
  4.     UIImageView*MyImageView;  
  5. }  
  6. @end  

下面是获取图片的代码
[objc] view plain  copy
 print ?
  1. -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{  
  2.       
  3.       
  4.     //获取照片  
  5.     UIImage*image=[info objectForKey:UIImagePickerControllerEditedImage  
  6. ];  
  7.     if (!image) {  
  8.         image=[info objectForKey:UIImagePickerControllerOriginalImage];  
  9.     }  
  10.     MyImageView.image=image;  
  11.     ///[self dismissModalViewControllerAnimated:YES];不推荐使用,但也可以使用  
  12.     [self dismissViewControllerAnimated:YES completion:nil];  
  13.       
  14. }  

注意:allowEditing属性是从ios3.1开始使用。以前使用allowsImageEditing属性不推荐使用。




摄像头的使用来获取图片并把图片保存相册


序言:

       当UIImagePickerController的sourceType属性指定为UIImagePickerControllerSourceTypeCamera时,就可以开启摄像头进行摄像。



正文:

        拍摄照片的获取方法和从相册中选着照片是一样的 。下面我们只要讲述如何将拍摄的照片保存到手机相册。

代码如下:

[objc] view plain  copy
 print ?
  1. -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{  
  2.       
  3.       
  4.     //获取照片  
  5.     UIImage*image=[info objectForKey:UIImagePickerControllerEditedImage  
  6. ];  
  7.     if (!image) {  
  8.         image=[info objectForKey:UIImagePickerControllerOriginalImage];  
  9.     }  
  10.     MyImageView.image=image;  
  11.     //将拍摄的照片保存相册  
  12.       
  13.     UIImageWriteToSavedPhotosAlbum(image, self@selector(image:didFinishSavingWithError:contextInfo:), nil);  
  14.       
  15.     //image:didFinishSavingWithError:contextInfo:其中触发方法不好书写,可以慢慢的书写  
  16.     ///[self dismissModalViewControllerAnimated:YES];不推荐使用,但也可以使用  
  17.     [self dismissViewControllerAnimated:YES completion:nil];  
  18.       
  19. }  

下面是方法(image:didFinishSavingWithError:contextInfo:)的触发事件
:代码如下:
[objc] view plain  copy
 print ?
  1. -(void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo  
  2. {  
  3.     
  4.       
  5.     if (error) {  
  6.         //error非nil保存失败  
  7.         NSLog([error localizedDescription]);  
  8.           
  9.     }else  
  10.     {  
  11.         //保存成功  
  12.     }  
  13.       
  14.       
  15.       
  16. }  

注意:

方法 UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil)的解释

UIImageWriteToSavedPhotosAlbum((参数1)image, (参数2)self, (参数3)@selector(image:didFinishSavingWithError:contextInfo:), (参数4)nil);

方法 UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil)的个个参数的解释
   各个参数               作用
参数1是传入的UIImage实例(此处为   image
参数2是为接收保存失败(成功)时得通知对象响应类(此处为self)
参数3为接收通知时的调用响应方法(此处为 image:didFinishSavingWithError:contextInfo: )
参数4为相应方法(参数3)传来的参数指针(此处为  nil)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值