美文网首页
IOS 保存图片至相册

IOS 保存图片至相册

作者: Treey_Ahao | 来源:发表于2016-12-28 14:17 被阅读0次

    应用中有时我们会有保存图片的需求,如利用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的方法对应的选择器,相当于回调方法,需满足以下格式

    - (void) image: (UIImage *) image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo;        contextInfo指定了在回调中可选择传入的数据。

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

    - (void)saveImageToPhotos:(UIImage*)savedImage

    {

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

    }

    // 指定回调方法

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

    NSString *msg = nil ;

    if(error != NULL){

    msg = @"保存图片失败" ;

    }else{

    msg = @"保存图片成功" ;

    }

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"保存图片结果提示"

    message:msg delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];

    [alert show];

    }

    // 调用示例

    UIImage *savedImage = [UIImage imageNamed:"savedImage.png"];

    [self saveImageToPhotos:savedImage];

    相关文章

      网友评论

          本文标题:IOS 保存图片至相册

          本文链接:https://www.haomeiwen.com/subject/yxuyvttx.html