zoukankan      html  css  js  c++  java
  • 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];

  • 相关阅读:
    基于nginx结合openssl实现https
    更新续约与重新登陆
    DNS服务器
    ELK日志分析系统。
    OpenSSH远程控制
    DHCP配置
    DHCP服务概述
    网络服务
    磁盘配额
    磁盘配额
  • 原文地址:https://www.cnblogs.com/yu0806/p/4554271.html
Copyright © 2011-2022 走看看