您的位置:首页 > 其它

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

2016-11-15 14:33 766 查看
        

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

[objc]view
plain copy

 print?

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  

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

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

[objc]view
plain copy

 print?

@interface ViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>  

  

{  

    UIImageView*MyImageView;  

}  

@end  

下面是获取图片的代码

[objc]<
4000
a href="http://blog.csdn.net/zhoushuangjian511/article/details/41956197#" class="ViewSource" title="view plain" style="color:rgb(85,85,85);text-decoration:none;border:none;padding:0px;margin:0px 10px 0px 0px;font-size:9px;background-color:inherit;">view
plain copy

 print?

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{  

      

      

    //获取照片  

    UIImage*image=[info objectForKey:UIImagePickerControllerEditedImage  

];  

    if (!image) {  

        image=[info objectForKey:UIImagePickerControllerOriginalImage];  

    }  

    MyImageView.image=image;  

    ///[self dismissModalViewControllerAnimated:YES];不推荐使用,但也可以使用  

    [self dismissViewControllerAnimated:YES completion:nil];  

      

}  

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

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

序言:

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

正文:

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

代码如下:

[objc]view
plain copy

 print?

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{  

      

      

    //获取照片  

    UIImage*image=[info objectForKey:UIImagePickerControllerEditedImage  

];  

    if (!image) {  

        image=[info objectForKey:UIImagePickerControllerOriginalImage];  

    }  

    MyImageView.image=image;  

    //将拍摄的照片保存相册  

      

    UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);  

      

    //image:didFinishSavingWithError:contextInfo:其中触发方法不好书写,可以慢慢的书写  

    ///[self dismissModalViewControllerAnimated:YES];不推荐使用,但也可以使用  

    [self dismissViewControllerAnimated:YES completion:nil];  

      

}  

下面是方法(image:didFinishSavingWithError:contextInfo:)的触发事件:代码如下:

[objc]view
plain copy

 print?

-(void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo  

{  

    

      

    if (error) {  

        //error非nil保存失败  

        NSLog([error localizedDescription]);  

          

    }else  

    {  

        //保存成功  

    }  

      

      

      

}  

注意:

方法 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为接收通知时[b]的调用响应方法[/b](此处为 [b]image:didFinishSavingWithError:contextInfo: [/b])
参数4为相应方法(参数3)传来的参数指针(此处为  nil)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: