• IOS 保存图片至相册


     

    IOS 保存图片至相册

     
    应用中有时我们会有保存图片的需求,如利用UIImagePickerController用IOS设备内置的相机拍照,或是有时我们在应用程序中利用UIKit的 UIGraphicsBeginImageContext,UIGraphicsEndImageContext,UIGraphicsGetImageFromCurrentImageContext方法创建一张图像需要进行保存。 IOS的UIKit Framework提供了UIImageWriteToSavedPhotosAlbum方法对图像进行保存,该方法会将image保存至用户的相册中,描述如下: 
    1 void UIImageWriteToSavedPhotosAlbum (
    2    UIImage  *image,
    3    id       completionTarget,
    4    SEL      completionSelector,
    5    void     *contextInfo
    6 );
    参数说明: 
            image 
                带保存的图片UImage对象 

            completionTarget 
                图像保存至相册后调用completionTarget指定的selector(可选) 

            completionSelector 
                    completionTarget的方法对应的选择器,相当于回调方法,需满足以下格式 
    1 - (void) image: (UIImage *) image
    2 didFinishSavingWithError: (NSError *) error
    3              contextInfo: (void *) contextInfo;
             contextInfo指定了在回调中可选择传入的数据。 

     

    当我们需要异步获得图像保存结果的消息时,我们需要指定completionTarget对象以及其completionSelector对应的选择器。示例如下:  

     

    01 - (void)saveImageToPhotos:(UIImage*)savedImage
    02 {
    03     UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL); 
    04 }
    05 // 指定回调方法
    06 - (void)image: (UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo
    07 {  
    08     NSString *msg = nil ;  
    09     if(error != NULL){
    10         msg = @"保存图片失败" ;
    11     }else{
    12         msg = @"保存图片成功" ;
    13     }
    14     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"保存图片结果提示"
    15                                                         message:msg
    16                                                        delegate:self
    17                                               cancelButtonTitle:@"确定"
    18                                               otherButtonTitles:nil];
    19     [alert show];
    20 }
    21  
    22 // 调用示例
    23 UIImage *savedImage = [UIImage imageNamed:"savedImage.png"];
    24  
    25 [self saveImageToPhotos:savedImage];
  • 相关阅读:
    PHP小技巧
    PHP Ajax跨域解决
    单点登录
    Linux 常用命令
    php面向对象--继承
    vueDemo
    vueSource
    vuex
    Vue.js
    关于前后端分离
  • 原文地址:https://www.cnblogs.com/iOS-mt/p/4252077.html
Copyright © 2020-2023  润新知