iOS 屏幕截图以及保存图片到相册

2016-04-21  本文已影响738人  深蓝_S
#import "ViewController.h"
#import <AssetsLibrary/ALAssetsLibrary.h>


-(void)viewDidLoad {
    
    [super viewDidLoad];
    
    UIButton * btn = [UIButton buttonWithType:UIButtonTypeContactAdd];
    
    btn.frame =CGRectMake(30, 30, 30, 30);
    
    [self.view addSubview:btn];
    
    [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    
    NSLog(@"%@", NSHomeDirectory());
    
}


-(void)btnClick:(UIButton *)sender

{
    [self savePhoto];
    
}

// 保存图片到相册功能,ALAssetsLibraryiOS9.0 以后用photoliabary 替代,

-(void)savePhoto

{
    
    UIImage * image = [self captureImageFromView:self.view];
    
    ALAssetsLibrary * library = [ALAssetsLibrary new];
    
    NSData * data = UIImageJPEGRepresentation(image, 1.0);
    
    [library writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:nil];
    
}

//截图功能

-(UIImage *)captureImageFromView:(UIView *)view

{
    
    CGRect screenRect = [view bounds];
    
    UIGraphicsBeginImageContext(screenRect.size);
    
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    [view.layer renderInContext:ctx];
    
    UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
    
    UIGraphicsEndImageContext();
    
    return image;
}
上一篇 下一篇

猜你喜欢

热点阅读